美文网首页
传参@bash

传参@bash

作者: WrRanX | 来源:发表于2019-08-20 06:57 被阅读0次

众志成城

介绍

流动的数据是程序的肉体。

位置参数

执行shell程序时,shell会自动将第一个参数保存在特殊的shell变量1中,并依次将后面参数保存到后面的变量上。这些特殊变量由于基于命令行所在的位置而命名为“位置参数”。

位置参数是在shell完成正常的命令行处理之后(I/O重定向,变量替换,文件名替换)被赋值的。
注意:当提供给程序的参数多于9个时,没法直接访问到第10个及以后的参数的,必须使用格式${n};否则如$10会被解析为第一个变量后加上字符0

之外,命令shift可以左移位置参数。

特殊变量

除了位置参数为,特殊shell变量$#包含了命令行中输入的参数个数;变量$*引用的是传给程序的所有参数。

示例

$ cat tshift
echo $# $*
shift
echo $# $*
shift
echo $# $*
shift
echo $# $*
shift
echo $# $*
shift

$ chmod +x ./tshift
$ ./tshift a b c d e
5 a b c d e
4 b c d e
3 c d e
2 d e
1 e

参考资料

UNIX/Linux/OS X中的Shell编程@ISBN: 9787115470416:https://book.douban.com/subject/30410589/

相关文章

网友评论

      本文标题:传参@bash

      本文链接:https://www.haomeiwen.com/subject/jftusctx.html