當前位置:
首頁 >
shell中$*和$@ 两个都区别
發布時間:2024/9/15
50
豆豆
生活随笔
收集整理的這篇文章主要介紹了
shell中$*和$@ 两个都区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
$* 與 $@ 區別:
相同點:都是引用所有參數。
不同點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 1、2、3,,則 " * " 等價于 "1 2 3"(傳遞了一個參數),而 "@" 等價于 "1" "2" "3"(傳遞了三個參數)
例:
#!/bin/bashfor i in "$*" doecho $i donefor i in "$@" doecho "aa$i"done輸出
1 2 3 4
aa1
aa2
aa3
aa4
例:
#!/bin/bashfor i in $* doecho $i donefor i in $@ doecho "aa$i"done輸出
1
2
3
4
aa1
aa2
aa3
aa4
其他:
讀取數組
讀取數組元素值的一般格式是:
${array_name[index]}實例
#!/bin/bashmy_array=(A B "C" D)echo "第一個元素為: ${my_array[0]}" echo "第二個元素為: ${my_array[1]}" echo "第三個元素為: ${my_array[2]}" echo "第四個元素為: ${my_array[3]}"執行腳本,輸出結果如下所示:
$ chmod +x test.sh $ ./test.sh 第一個元素為: A 第二個元素為: B 第三個元素為: C 第四個元素為: D獲取數組中的所有元素
使用@ 或 * 可以獲取數組中的所有元素,例如:
#!/bin/bashmy_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=Decho "數組的元素為: ${my_array[*]}" echo "數組的元素為: ${my_array[@]}"執行腳本,輸出結果如下所示:
$ chmod +x test.sh $ ./test.sh 數組的元素為: A B C D 數組的元素為: A B C D獲取數組的長度
獲取數組長度的方法與獲取字符串長度的方法相同,例如:
#!/bin/bashmy_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=Decho "數組元素個數為: ${#my_array[*]}" echo "數組元素個數為: ${#my_array[@]}"執行腳本,輸出結果如下所示:
$ chmod +x test.sh $ ./test.sh 數組元素個數為: 4 數組元素個數為: 4總結
以上是生活随笔為你收集整理的shell中$*和$@ 两个都区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql单表备份语句
- 下一篇: [tomcat]-tomcat8启动时S