现在的位置: 首页 > 综合 > 正文

Shell学习笔记

2013年04月16日 ⁄ 综合 ⁄ 共 1078字 ⁄ 字号 评论关闭

1. >重定向, >>表示不清除原来的,而追加输出!
2. 2 > /dev/null 将标准错误重定向
3. 变量赋值时, “=”左右两边都不能有空格, 声明局部变量的时候用local。
4. 变量使用时, 变量前加 $
5. 在容易发生歧义的地方, 变量最好带{}, 如:${STR}
6. 整数运算一般通过 let 和 expr 这两个指令来实现:如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1`, 无浮点变量; 运算符左右都有空格;使用*(乘号)时, 要用‘\’屏蔽
7. 对于整数比较:-eq, ne, -gt, -lt, -ge, -le:(e:equal,  g:greate, l:little, t:than)

8. 字符串比较: 为空:-z(zero), 不为空:-n  更细致的文档推荐在字符串比较时尽量不要使用 -n ,而用 ! -z 来代替。

9. shell判断文件属性的操作(满足要求时,返回TRUE):
  -e file  文件存在
  -f file  普通文件
  -s file  文件大小不为0
  -d file  为目录
  -r/-w/-x 可读/写/执行
  f1 -nt f2 文件f1比f2新(new than)
  f1 -ot f2 文件f1比f2老(old than)

10. 流控制语句

if [ 表达式 ];then
----
fi

if [ 表达式 ];then
----
else if [ 表达式 ]; then  //(elif == else if)
----
fi

11. for循环

for $var in
do
----
done

12. while循环

while [ condition ]
do
----
done

13. until

until [ condition is True ]
do
----
done

14. case

case "$var" in
@1)
----;;
@2)
----;;
default ----;;
esac

15. read用来读取输入, break 和 continue意思和在C语言中相同

16. 函数,
函数名子(){
代码段
}
BASH 要求返回值必须为一个整数,不能用 return 语句返回字符串变量。

17. 随机数 a=$RANDOM
18.变量的特殊操作
${var-default} 表示如果变量 $var 还没有设置,则保持 $var 没有设置的状态,并返回后面的默认值 default。
${var=default} 表示如果变量 $var 还没有设置,则取后面的默认值 default。
${var+otherwise} 表示如果变量 $var 已经设置,则返回 otherwise 的值,否则返回空( null )。
${var?err_msg} 表示如果变量 $var 已经设置,则返回该变量的值,否则将后面的 err_msg 输出到标准错误输出上。

抱歉!评论已关闭.