我想知道是否可以在 shell 腳本中存取完整的命令列呼叫。在我的腳本中,我需要進一步傳遞它。我發現有 $@ 和 $* 訪問器,但它不會傳遞所有字符,例如,如果我在命令行中寫入:
$ my_script xyz -m "something here"
並且在我的腳本中我訪問命令行參數,如下所示:
參數=“$*”
回顯$參數
我將看到輸出:xyz -m something here
。不幸的是,它刪除了引號,是否可以保留它們?然後我想將這些參數傳遞給另一個腳本,我不知道其中有多少個,以及在行中的哪個位置我將有引號。
答案1
我實際上解決了我的問題,之前,在我的第一個腳本中,我像上面寫的那樣觸發了第二個腳本,但實際上在我的第一個腳本中我應該使用:
第二個腳本“$@”
要觸發第二個腳本,現在它可以按預期工作。相關的是 $@ 周圍的引號。