1
我想使用命令替換來設置位置參數。這一個簡單的情況下正常工作使用命令替換設置位置參數
$ set $(echo hello; echo world)
$ echo $1
hello
但是,如果一個「行」包含一個空間,然後它會失敗
$ set $(echo hello hello; echo world world)
$ echo $1
hello
我也試着改變IFS
值
$ IFS=$'\n' set $(echo hello hello; echo world world)
$ echo $1
hello
你可以使用一個子shell? '(IFS = $'\ n';設置....)' – suspectus
@suspectus:您的工作是因爲IFS = $'\ n''之後的分號 - 這使得它爲整個shell設置IFS,而不是隻用於'set'命令。 –
真棒問題!正在尋找如何實現非常相似的東西,沒有IFS。 –