变量
局部变量
环境变量-----export
一个用户的所有进程中都可以访问的变量
环境变量的命令一般都是大写的
可在系统配置文件(/etc/profile)中定义环境变量
位置变量
shell程序运行时输入的参数
$0 bash
$1 第一个参数
运算符
变量赋值-----=
算术运算符
+ 两个变量做加法
- 两个变量做减法
× 两个变量做乘法
/ 两个变量做除法
** 幂运算
% 取模
+= 加等于
-= 减等于
×= 乘等于
/= 除等于
%= 取模赋值
条件
expr echo `expr 1+2`
let b=let 1+2 echo $b
$[] echo $[1+2]
输入和输出
echo
echo $str 将str的值输出到终端
echo $str > file 将str的值保存到file文件中,如果没有该文件就新建该文件,否则,将会覆盖以前的文件
echo $str >>file 将str的值追加到文件file中
\c 不换行
\t Tab
\n 换行
-e 输出特殊字符, 比如换行
-n 禁止换行
read
read A B C
aa bb cc $A = aa, $B = bb, &C = cc
read A B
aa bb cc $A = aa, $B = bb cc
read A B <a.txt 从文件中读取数据
文件重定向
command > filename 把标准输出重定向到一个文件中
command >> filename 把标准输出以追加的方式重定向到一个文件中
command 1 > filename 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误重定向到一个文件中
command 2 > filename 把标准输出的错误重定向到一个文件中
command 2 >> filename 把标准输出以追加的方式重定向到一个文件中
command >>filename 2>&1 把标准输出和标准错误一起追加到一个文件中
command < filename > filename2 把command命令以filename文件作为标准输入,filename2为标准输出
commnad < filename 把commad命令以filename文件作为标准输入
引号
双引号
应用一个字符串,其中不能直接使用$、引号、双引号、反斜线、反引号等特殊符号
单引号
与双引号相似,但不能有空格
反引号
执行引号中的系统命令,然后将结果返回
反斜线
对特殊字符进行转义
测试语句-----test
文件状态测试
对文件的权限、有无、属性、类型等内容进行判断(返回0表示测试成功,1表示失败)
-d 是否为目录文件
-f 是否为正规文件
-L 是否为符号链接
-x 是否可执行
-s 是否非空
-w 是否可写
-u 是否有suid位设置
-r 是否可读
$? 保存上一个命令的结果
数值测试
test或[ 第一个操作数 数值比较符 第二个操作数 ]
-eq 等于
-le 小于等于
-gt 大于
-ne 不等于
-ge 大于等于
-lt 小于
字符串测试
test或[ 字符串1 字符串比较符 字符串2 ]
== 相等
!= 不相等
-z 空字符串
-n 非空
逻辑测试
-a 逻辑与
-o 逻辑或
! 否
网友评论