Bash Shell中的特殊位置变量及其应用
? ? ? ? ? ? ? ? ? ? ? ? ? ??Bash Shell中的特殊位置变量及其应用 ? ? ? 众所周知bash shell中有许多特殊的位置变量,灵活使用它们可以更好地发挥Shell脚本的功用。 即位置变量:$1,$2,...来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数 特殊变量:$?,$0,$*,[email?protected],$#,$$ ---------------- 具体解析 ----------------------------- $? : 用于检测上一条命令的返回码,0代表成功,1-255表示失败 $0 :? 表示命令本身 $*? :?表传递给脚本的所有参数,全部参数合为一个字符串 [email?protected] :?表传递给脚本的所有参数,每个参数为独立字符串 $# :? 传递给脚本的参数的个数 $$ :? 获取当前执行的Shell脚本的进程号 为了更好理解,我编写如下脚本进行测试,注意$10要括号括起来才能识别。 [[email?protected] ~]# echo $SHELL ?[[email?protected] ~]# vim test_arg.sh? [[email?protected] ~]# bash test_arg.sh {a..z} 1st arg is a 实战1:?活用$1来编写一个自动取ip的脚本 ? 首先用如下命令来截取ip,?成功了 [[email?protected] ~]# ifconfig ens33|grep -w "inet"|tr -s ‘ ‘ %|cut -d% -f3 (tr -s ‘ ‘ %表示先压缩所有重复的空格到只留一个再转换为%) 再通过调用$1来使这条命令可以用于一个脚本来快速查ip。 ? ?[[email?protected] ~]# ./get-ip.sh lo The ip is 127.0.0.1 ?--------------------------------全文完----------------------------------- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用Shell编写for循环和while循环案例
- AngularJS 用promises和$q处理异步调用
- WebService 动态 IP 配置
- 如何关闭Windows系统的137, 139, 445端口?
- 关于angularJS绑定数据时自动转义html标签
- bootstrap Glyphicon字体在firefox不显示【CORS问
- amazon-web-services – 使用Dockerrun.aws.jso
- LinkageError: JAXB 2.0 API is being loaded fr
- angularjs – 获得元素兄弟姐妹的* Angular *方式
- vim & Python ide