备忘
文件名test.sh
- USER=nihao
- echo “hello $USER”
- #$0 脚本名
- echo “script name is :
basename $0
“ - #$1 第一个变量名
- echo “first param is : $1”
- #$* 所有变量
- echo “all params are : $*”
- #$# 变量长度
- echo “params’ length is : $# “
- #$@ 所有变量
- echo “all params are : ‘$@’”
- #$$ 当前脚本进程
- echo “process id of this script is : $$”
- #$? exit 退出状态
- echo “exit status is : $?”
- #$! 最后一个守护进程pid,last daemon process (&) process id
echo “last daemon process id is : $!”
输出结果:
[admin@v035114 shuohai]$ ./test.sh a b c
last daemon process id is :
选择第一个参数、最后一个、倒数第二个、从第二个连续的几个参数
[admin@arch036088.sqa.cm4 ~]$ cat test.sh
echo ${@:2:2}
输出结果
12 23 43 3 34
23 43
读取最后一个参数另一种方法 ${$# } 但是大括号中不能使用美元$符号,要用! 代替
[admin@v035114 shuohai]$ cat ./test.sh
5
遍历所有参数的另一种方法
[admin@v035114 shuohai]$ cat ./test.sh
5.6. echo $INDEX “–” $param
9.10. INDEX=1
4 – 5
只打印第2个到第4个参数,一共5个参数
[admin@v035114 shuohai]$ cat param.sh
10.11. [admin@v035114 shuohai]$ ./param.sh 12 34 4 5
4 – 5
访问第10个参数之后,不能直接使用$10访问了,要使用大括号
[admin@v035114 shuohai]$ cat test.sh
转载请注明来源链接 http://just4fun.im/2017/03/19/e3-80-90-e8-bd-ac-e3-80-91linux-shll-e4-b8-ad-e7-9a-84-e7-ac-a6-e5-8f-b7-e8-af-bb-e5-8f-96-e5-91-bd-e4-bb-a4-e8-a1-8c-e5-8f-82-e6-95-b0/ 尊重知识,谢谢:)