存取 shell 腳本中的行參數

存取 shell 腳本中的行參數

我想知道是否可以在 shell 腳本中存取完整的命令列呼叫。在我的腳本中,我需要進一步傳遞它。我發現有 $@ 和 $* 訪問器,但它不會傳遞所有字符,例如,如果我在命令行中寫入: $ my_script xyz -m "something here" 並且在我的腳本中我訪問命令行參數,如下所示:

參數=“$*”

回顯$參數

我將看到輸出:xyz -m something here。不幸的是,它刪除了引號,是否可以保留它們?然後我想將這些參數傳遞給另一個腳本,我不知道其中有多少個,以及在行中的哪個位置我將有引號。

答案1

我實際上解決了我的問題,之前,在我的第一個腳本中,我像上面寫的那樣觸發了第二個腳本,但實際上在我的第一個腳本中我應該使用:

第二個腳本“$@”

要觸發第二個腳本,現在它可以按預期工作。相關的是 $@ 周圍的引號。

相關內容