假設我的父腳本是使用n
參數調用的,我想將參數#3的所有參數傳遞給子腳本。將父腳本的參數的部分列表傳遞給子腳本
如何在bash腳本中做到這一點?
我知道[email protected]
會讓你的整個參數列表,這不是我想要的。
假設我的父腳本是使用n
參數調用的,我想將參數#3的所有參數傳遞給子腳本。將父腳本的參數的部分列表傳遞給子腳本
如何在bash腳本中做到這一點?
我知道[email protected]
會讓你的整個參數列表,這不是我想要的。
使用shift
除去前兩個參數:
shift 2
child_script "[email protected]"
如果您需要使用$1
和$2
,您可以首先將它們保存在變量。
另一種選擇是將參數分配給數組:
args=("[email protected]")
刪除數組的前兩個元素:
unset args[0]
unset args[1]
然後用這個數組調用子腳本:
child_script "${args[@]}"
喜歡分享:
child_script "${@:3}"
如果你想傳遞開始爭論3四個參數:
child_script "${@:3:4}"
至於保持原始值的討論: 你可以做在孩子腳本的轉變。
但是如果我想在文件後面使用'$ 1'和'$ 2'呢?我應該將它們的值保存在一個單獨的變量中嗎? –
這就是我可能會做的,但我增加了另一個解決方案的答案。 – Barmar