Linux Shell 如何獲取參數的方法
$# 是傳給腳本的參數個數$0 是腳本本身的名字$1 是傳遞給該shell腳本的第一個參數$2 是傳遞給該shell腳本的第二個參數$@ 是傳給腳本的所有參數的列表$* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9個$$ 是腳本運行的當前進程ID號$? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤
區別:$@, $*
相同點:都是引用所有參數 不同點:$* 和 $@ 都表示傳遞給函數或腳本的所有參數,不被雙引號(' ')包含時,都以'$1' '$2' … '$n' 的形式輸出所有參數。但是當它們被雙引號(' ')包含時,'$*' 會將所有的參數作為一個整體,以'$1 $2 … $n'的形式輸出所有參數;'$@' 會將各個參數分開,以'$1' '$2' … '$n' 的形式輸出所有參數。$*和$@詳細區別請看此處
#!/bin/bashecho '-----------------'for key in '$@'do echo ’$@’ $keydoneecho '-----------------------------'for key2 in $*do echo ’$*’ $key2done
1、帶引號執行及結果:
[root@localhost ~]# bash file.sh linux 'python c'-----------------$@ linux$@ python c-----------------------------$* linux$* python$* c
2、不帶引號執行及結果:
[root@localhost ~]# bash file.sh linux python c-----------------$@ linux$@ python$@ c-----------------------------$* linux$* python$* c
到此這篇關于Linux Shell 如何獲取參數的方法的文章就介紹到這了,更多相關Linux Shell 獲取參數內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. 統信uos系統怎么選擇打印機驅動? uos打印機驅動的兩種選擇方法2. Freebsd 雙硬盤無法啟動的解決辦法3. 支持深色 / 淺色模式,微軟 Win11 Build 25281 為“產品密鑰”窗口啟用新界面4. Win11系統搜索不到藍牙耳機怎么辦?Win11搜索不到藍牙耳機解決方法5. YunDetectService.exe是什么進程?YunDetectService.exe禁止使用的方法6. rsync結合 inotfiy 實現實時備份的問題7. Win11Beta預覽版22621.1180和22623.1180發布 附KB5022363內容匯總8. Mac版steam錯誤代碼118怎么解決?Mac版steam錯誤代碼118解決教程9. mac程序沒反應怎么辦 mac強制關閉程序的方法10. 世界上最流行的操作系統不是Linux或者Windows,而是MINIX
