2017年5月18日 星期四

shell script 特殊技巧收集

列出所有的引數(arguments)

使用 bash 變數: $@

#!/bin/bash
echo $@ ## 這是引數陣列

[測試]

cy@cyvm:~/test$ ./test.sh 1 2 3 4 5
1 2 3 4 5

一一列出 $@ 每一個元素:

#!/bin/bash
for i ; do
 echo $i
done

[測試]

cy@cyvm:~/test$ ./test.sh 1 2 3 4 5
1
2
3
4
5

改用 $* 看看:

#/bin/bash
echo $* ## 這是引數字串
for i in $*; do
 echo $i
done

[測試]

cy@cyvm:~/test$ ./test.sh 1 2 3 4 5
1 2 3 4 5
1
2
3
4
5

使用 shift 移出前頭的引數來一一列示:

#/bin/bash
echo $# ## 這是引數總數
while (("$#")); do
 echo $1
 shift
done

[測試]

cy@cyvm:~/test$ ./test.sh 1 2 3 4 5
5
1
2
3
4
5
參考文章

沒有留言:

張貼留言