定义变量:

name='qwer'  不解析任何字符

name="qwer"  会解析$和\特殊字符

name1=123;name2=456  定义多个变量

now_date=`date`  执行系统命令(现在系统的时间)

引用变量:

echo $name

echo {$name}  {}用于区分边界

预定义变量:

$#  参数的数量

$@  所有参数

$*  所有参数

$?  执行后返回状态,0成功,非0失败

$$  当前进程号

$!  最后一个进程号

$0  当前进程名

输出格式:

echo  换行输出

echo -e $i \t 转义 \t 输出制表符

printf  不换行输出

接受键盘输入:

read name

echo "xxxx $name"

===============

cat file.txt | while read line  按行读入

按行输入:

<<|      用“|”做定界符

1111111111

222222222

|

let和expr整数算术运算:

i=10

j=20

q=30

let sum=$i+$j+$q

sum=`expr $i+$j+$q`

cheng=`expr $i\*$j`  乘法要用\转义

scale bc小数精度控制:

n=`echo "scale4;13/2" | bc`  scale4:小数4位

echo $n

6.5000

字符串操作:

echo ${name:0:3}  取0-3位数字符

string="you and you is name"

echo {string/you/YOU}  /替换you为YOU and you is name

echo {string//you/YOU}  //两次YOU and YOU is name

test比较运算:

大于  -gt

小于  -lt

大于等于  -ge

小于等于  -le

等于  -eq

不等于  -ne

================

a=100

b=200

test $b -gt $a

=================

str1="abc"

str2=""

test -n str1  测试str1长度不为0,成功返回0

test -z str1  测试str1长度不为空,成功返回0

test $str1 -a $str2  与

test $str1 -o $str2  或

test $str1 ! $str2  非

shell_01的更多相关文章

  1. Linux从入门到进阶全集——【第十四集:Shell基础命令】

    1,Shell就是命令行执行器 2,作用:将外层引用程序的例如ls ll等命令进行解释成01表示的二进制代码给内核,从而让硬件执行:硬件的执行结果返回给shell,shell解释成我们能看得懂的代码返 ...

  2. linux常用命令 awk命令

    awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

  3. linux常用命令 命令管道符

    多命令顺序执行 多命令顺序执行 多命令执行符 格式 作用 : 命令1:命令2 多个命令顺序执行,命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执 ...

  4. linux常用命令 history命令

    历史命令 history [选项] [历史命令保存文件] 选项 '-c' 清空历史命令 '-w' 把缓存中的历史命令写入历史命令保存文件~/.bash_history [root@ssgao1987 ...

  5. shell shell基本概述

    SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. ​ Shell还是 ...

  6. shell 基本概述

    SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. ​ Shell还是 ...

随机推荐

  1. HDU 2110 Crisis of HDU

    Crisis of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  2. 开启Visual Studio 2013时,出现Microsoft.VisualStudio.Web.PasteJson.JsonPackage无法载入的可能解決方案

    1.先下载:http://www.jb51.net/dll/Microsoft.VisualStudio.Web.PasteJson.dll.html Microsoft.VisualStudio.W ...

  3. C语言 · 完数

    算法训练 完数   时间限制:1.0s   内存限制:512.0MB      问题描述 一个数如果恰好等于它的因子之和,这个数就称为“完数”.例如,6的因子为1.2.3,而6=1+2+3,因此6就是 ...

  4. RadioButton单选按钮的使用

    namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { Initialize ...

  5. Enlish相关术语

    APM 自动编程机(Automatic Programming Machine) 高级电源管理(Advanced Power Management) OSD 屏幕显示(On Screen Displa ...

  6. Web前端开发中的MCRV模式(转)

    作者: izujian  来源: baiduux 摘要:针对前端开发中基于ajax的复杂页面开发所面临的代码规模大,难以组织和维护,代码复用性.扩展性和适应性差等问题,本文尝试以MVC思想为 基础,结 ...

  7. mysql -- 存储过程中 declare 和 set 定义变量的区别

    mysql存储过程中,定义变量有两种方式:1.使用set或select直接赋值,变量名以 @ 开头.例如:set @var=1;可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量. 2.以 ...

  8. WebService的初级学习

    复习准备 1. Schema约束: 1.1   namespace相当于Schema文件的id: 1.2   targetNamespace属性用来指定schema文件的namespace的值; 1. ...

  9. Git神器sourceTreesetup,让你的git效率迅速提升

    image.png 小编之前在简书和公众号发不过idea如何git clone,git add,创建分支,创建码云的操作idea和Webstorm上使用git和github,码云最近又找到一款git神 ...

  10. adb server is out of date.killing的解决办法

    当把手机连接到电脑端口运行adb程序调试时,出现了下面这样的情况: 分析:出错的原因是adb的端口被其他程序的进程占领了,所以要做的就是找到并kill该进程.     工具/原料   cmd.exe. ...