shell编程题(一)
求2个数之和
#!/bin/bash function add { if(( $# < 2 )); then echo "The arg in't correct" else sum=$(($1+$2)) echo $sum fi } add 1 add 1 2
运行结果:
exbot@ubuntu:~/shareWin/linux/shell$ ./sum.sh 1 2
The arg in't correct
3
$#:相当于C语言的mian函数的(argc-1)传入的参数列表的值,表示输入值的数量减1,这个减去的1就是argv[0]。
其中:
$0: 表示C语言中argv[0],就是减去的那个1的数量代表的意义
$1,$2 …: 这些成为位置参数,相当于C语言中的argv[1],argv[2]
$@: 表示参数列表”$1”,”$2”... ,大多用在for循环后的in里面
$*: 等同$@
$?: 上一条命令的Exit Status
$$: 当前进程号
注意事项:
function functionfile { // functionfile { 之间是有空格隔开的,如果不隔开,会报错
/*code*/
}