做项目时有时要用到脚本语言,一般用一些时间项目一完又用不到了,所以又不想深入的去学习,算了把用到时的一些问题都记录在这里,免的以后要用了又找不到。

1、

$# 命令行参数的个数
$? 调用命令的返回值
$$ 当前进程的进程号
$! 最后一个后台命令的进程号
$0 命令行的第一个参数,也就是命令名
$n 命令行的第n个参数,如果要取超过9个参数${n}
$* 所有的命令行参数,等于("$1 $2...")
"$@" 所有的命令行参数,等于("$1" "$2"...) (可以遍历)
$_ 前一个命令的最后一个命令行参数shell脚本的选项(option)解析

 

 

2、${}用于获取变量的值,几个变形(其中para会被当作变量名解析,word会被当作纯文本值解析):
${para-word} 如果para已定义,输出$para,否则输出word
${para+word} 如果para已经定义,输出word(para值未改变),否则输出空值
${para=word} 如果para已经定义, 改变其值为word,并且输出$para,否则输出空值
${para?word} 如果para已经定义,输出$para,否则输出word并且退出当前shell

 

3、linux shell“(())”双括号运算符使用

特点:
1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。
2、在双括号结构中,所有变量可以不加入:“$”符号前缀。
3、双括号可以进行逻辑运算,四则运算
4、双括号结构 扩展了for,while,if条件测试运算
5、支持多个表达式运算,各个表达式之间用“,”分开
使用实例:
扩展四则运算
  1. #!/bin/sh 
  2.   
  3. num=100; 
  4. total=0; 
  5.   
  6. for((i=0;i<=num;i++)); 
  7. do 
  8.     ((total+=i)); 
  9. done 
  10. echo $total; 
  11.   
  12. total=0; 
  13. i=0; 
  14. while((i<=num)); 
  15. do 
  16.     ((total+=i,i++)); 
  17. done 
  18. echo $total; 
  19.   
  20. if((total>=5050));then 
  21.     echo "ok"
  22. fi 
  23.   
  24. 运算结果: 
  25. 5050 
  26. 5050 
  27. ok 

有了双括号运算符:[[]],[],test 逻辑运算,已经let,expr 都可以抛到一边了。

 

 

持续更新。。