我想要執行一個從文件讀入參數的命令。 這工作正常,直到1的參數需要有一個空間。使用帶空格的文件的參數在bash腳本中調用函數
我試過用引號和反斜槓分組,但都沒有工作。
我以後的功能正是xargs
呢,除了我需要調用一個函數,而不是一個命令,因爲它依賴於腳本
腳本設置了其他地方的變量:
do_echo() {
echo '$1:' $1
echo '$2:' $2
}
line=`cat input.txt` #cat used for simplicity, can have more than 1 line
do_echo $line
input.txt中:
"hello world" "hello back"
預期結果:
$1: hello world
$2: hello back
觀測結果:
$1: "hello
$2: world"
編輯:
我用這多次與不同的輸入執行相同的命令。 每行最多有15個參數,可能超過50行。
表格格式將是理想的,儘管將每個參數放在一行上的當前答案將起作用。
是否使用'do_echo「$ line」'提供了不同於'do_echo $ line'的結果? – twalberg
@twalberg是的,它打印整個行作爲第一個參數,$ 1 –