- & 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &
&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’
| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l
|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail” exit 0
代表正常运行程序并退出程序标志,exit 1
代表非正常运行导致退出程序标志
.sh文件的0为真 1为假- -eq(equal) : 测试两个整数是否相等;比如 $A -eq $B
-ne(inequality) : 测试两个整数是否不等;不等,为真;相等,为假;
-gt(greter than) : 测试一个数是否大于另一个数;大于,为真;否则,为假;
-lt(less than) : 测试一个数是否小于另一个数;小于,为真;否则,为假;
-ge(greter equal): 大于或等于
-le(less equal) :小于或等于
$stage -le 0
就是测试变量stage是否小于或等于0,linux 使用定义好的变量不能直接用必须使用$
4. if then
如果如果成功执行命令,状态为0,则执行then后面的命令,如果没有成功执行命令状态依旧为0;状态为0以外的其他值,则then后面的命令则不会执行。
5. echo
echo为输出语句相当于print
6. 每个if
语句都要用fi
结束
7. !!
指代上一次使用的代码,如上一句为一个地址,则cd !!
为转到该地址
!$
指代上一次使用的代码的最后一个参数
!^
指代上一次使用的代码的第一个参数
!
可以代表逻辑非 如rm !(*.cfg)
#删除需谨慎
8. 执行.sh文件
chmod u+x datelog.sh
./datelog.sh
先给权限,之后直接输入相对地址即可
9. .sh
文件的=
号不用空格,.sh文件每个空格都有意义。
10. .sh
文件输出a对应的变量,echo $a
11. $var
与${var}
是没有区别的。
12. $0
就是你写的shell脚本本身的名字,$1
是你给你写的shell脚本传的第一个参数,$2
是你给你写的shell脚本传的第二个参数。
13. 在shell中
'>'
为创建: echo “hello shell” > out.txt
'>>'
为追加:echo “hello shell” >> out.txt
14.
名称 | 代码 | 操作符 |
---|---|---|
标准输入 | 0 | < 或 << |
标准输出 | 1 | >, >>, 1> 或 1>> |
标准错误输出 | 2 | 2> 或 2>> |
会将out.txt文本中的内容清空,并将hello shell 字符串存入而‘>>’会将 hello shell追加保存到out.txt的末尾。