版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. $
在Linux Shell脚本中,$#
用来表示传入的参数数量。例如:
- shell脚本test0
#!/bin/bash
# test $#
echo "The number of parametes is $#."
- 1
- 2
- 3
- 4
- 执行结果
$ ./test0
The number of parametes is 0.
$ ./test0 1 2 3
The number of parametes is 3.
$ ./test0 a bc
The number of parametes is 2.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2. $@
在Linux Shell脚本中,$#
用来表示传入的参数列表。例如:
- shell脚本test1
#!/bin/bash
# test $@
echo "The parametes are $@."
- 1
- 2
- 3
- 4
- 执行结果
$ ./test1
The parametes are .
$ ./test1 1 2 3
The parametes are 1 2 3.
$ ./test1 a bc
The parametes are a bc.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 遍历
$@
for var in $@
do
echo "$var"
done
- 1
- 2
- 3
- 4
3. 0,0,1
在Linux Shell脚本中,$0
用来表示要执行的shell脚本名称。$1
,$2
用来表示传入到脚本中对应位置的参数,例如:
- shell脚本test2
#!/bin/bash
# test $0,$1
echo "The shell is $0."
echo "The first parameter is $1."
echo "The first parameter is $2."
- 1
- 2
- 3
- 4
- 5
- 6
- 运行结果
$ ./test2
The shell is ./test2.
The first parameter is .
The first parameter is .
$ ./test2 1 2
The shell is ./test2.
The first parameter is 1.
The first parameter is 2.
$ ./test2 a 2
The shell is ./test2.
The first parameter is a.
The first parameter is 2.
$ ./test2 a b
The shell is ./test2.
The first parameter is a.
The first parameter is b.
$ ./test2 a b c
The shell is ./test2.
The first parameter is a.
The first parameter is b.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
</div>
</article>