标签:process while conf $? tle art 文件 man 数列
转自:http://blog.csdn.net/y2888886/article/details/50535033
在上篇博文的基础上做如下修改
注意一些常见命令中间就要加 “ ” ,否则很多命令无法识别
sh **.sh 和 bash **.sh 在一些命令的解析上还是有差别的,所以尽量使用bash
博文中let 的写法应为 let x=x+1
-eq 等于,如:if [$a -eq $b ]
-ne 不等于,如:if [$a -ne $b ]
-gt 大于,如:if [$a -gt $b ]
-ge 大于等于,如:if [$a -ge $b ]
-lt 小于,如:if [$a -lt $b ]
-le 小于等于,如:if [$a -le $b ]
< 小于(需要双括号),如:((a < b))
<= 小于等于(需要双括号),如:((a <= b))
> 大于(需要双括号),如:((a > b))
>= 大于等于(需要双括号),如:((a >= b))
== ,!= 也是一样
$0就是该bash文件名
$?是上一指令的返回值
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
“$*”返回的是一个字符串,字符串中存在多外空格。
“$@”返回多个字符串
if [ $? -ne 0 ]; then
$? 表示上一条命令返回值,如果上一条命令成功执行,返回0,否则返回1. [$? -ne 0] 表示如果$?的值不等于0,则上一条命令执行失败。
退出码(exit status,或exit code)的约定:
0表示成功(Zero - Success)
非0表示失败(Non-Zero - Failure)
2表示用法不当(Incorrect Usage)
127表示命令没有找到(Command Not Found)
126表示不是可执行的(Not an executable)
echo "expected conf not found, fail" >&2 这句话中 “>&2”中&表示程序继续运行,2为错误日志 ,1为普通日志
shift 命令 左移命令,用于输入参数时——命令每执行一次,变量的个数($#)减一(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位 可以shift 2 删除2位变量
标签:process while conf $? tle art 文件 man 数列
原文地址:http://www.cnblogs.com/LazyJoJo/p/7479833.html