Linux shll中的$符号 -- 读取命令行参数
来源:互联网 发布:linux安装eclipse 编辑:程序博客网 时间:2024/06/05 06:10
文件名test.sh
USER=nihaoecho "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 idecho "last daemon process id is : $!"
输出结果:
[admin@v035114 shuohai]$ ./test.sh a b chello nihaoscript name is : test.shfirst param is : aall params are : a b cparams' length is : 3 all params are : 'a b c'process id of this script is : 10837exit status is : 0last daemon process id is :
选择第一个参数、最后一个、倒数第二个、从第二个连续的几个参数
[admin@arch036088.sqa.cm4 ~]$ cat test.sh #all params 全部参数echo $@#all params 全部参数echo $*#length of params 参数的长度echo $##first param 第一个参数echo $1#last param 最后一个参数echo ${@:${#@}}#last 2 param 最后两个参数echo ${@:${#@}-1}#last 2nd param 倒数第二个参数echo ${@:${#@}-1:1}#from 2nd to last param 从第二个到最后一个参数echo ${@:2}#from 2nd, count 2 从第2个参数开始,连续2个参数echo ${@:2:2}
输出结果
12 23 43 3 3412 23 43 3 34512343 34323 43 3 3423 43
读取最后一个参数另一种方法 ${$#} 但是大括号中不能使用美元$符号,要用! 代替
[admin@v035114 shuohai]$ cat ./test.sh echo ${!#}[admin@v035114 shuohai]$ ./test.sh 12 34 4 5 5
遍历所有参数的另一种方法
[admin@v035114 shuohai]$ cat ./test.sh INDEX=1 for param in $@do echo $INDEX "--" $param INDEX=$[ $INDEX+1 ]doneINDEX=1for param in $*do echo $INDEX "--" $param INDEX=$[ $INDEX+1 ]done[admin@v035114 shuohai]$ ./test.sh 12 34 4 5 1 -- 122 -- 343 -- 44 -- 51 -- 122 -- 343 -- 44 -- 5
只打印第2个到第4个参数,一共5个参数
[admin@v035114 shuohai]$ cat param.sh INDEX=1 for param in $@do if [ $INDEX -ge 2 ] && [ $INDEX -le 4 ]; then echo $INDEX "--" $param fi INDEX=$[ $INDEX+1 ]done[admin@v035114 shuohai]$ ./param.sh 12 34 4 52 -- 343 -- 44 -- 5
访问第10个参数之后,不能直接使用$10访问了,要使用大括号
[admin@v035114 shuohai]$ cat test.sh echo $*echo $11 #错误的方式echo $[ ${10} ]echo $[ ${11} ][admin@v035114 shuohai]$ ./test.sh 12 34 4 5 5 6 7 8 9 10 1112 34 4 5 5 6 7 8 9 10 11121 1011
- Linux shll中的$符号 -- 读取命令行参数
- Linux shll中的$符号 -- 读取命令行参数
- 【linux】linux命令行中的符号
- linux shell读取命令行参数
- linux设置了 /etc/profile ~/.bashrc等配置文件不重启生效方法【开机读取的shll】
- Scanner读取命令行参数
- shell 读取命令行参数
- python 读取命令行参数
- getopts读取命令行参数
- Python:读取命令行参数
- Linux命令行参数在栈中的分布
- 函数参数中的&符号
- Linux Script (shll简单运算例子)
- TCL脚本读取命令行参数
- python实现读取命令行参数
- Java 工具(jmap,jstack)在linux上的源码分析(六) -F 参数 读取动态链接共享库文件中的符号表
- nim中的命令行参数
- Linux 命令行参数解析
- Android编程之创建桌面快捷方式
- android学习之widget3
- 在WinForm上添加语音朗读功能
- 调用另一个Activity之1
- android dialog ——ProgressDialog 进度条对话框详解
- Linux shll中的$符号 -- 读取命令行参数
- ios:改变tableview的titleForHeaderInSection字体颜色设置
- Eclipse快捷键大全(转载)
- poj3130 && poj3335 半平面交
- 侯捷 more effective c++(WQ中文版) 阅读笔记1
- enable URL Rewrite for magento
- 嵌入式核心书籍
- 给eclipse添加html jsp js智能提示
- linux 常用到的10个命令