如果我寫這個字符串在我的腳本:在bash腳本通配符擴展
list=$(ls /path/to/some/files/*/*/*.dat)
它工作正常。但我需要的是
files="files/*/*/*.dat"
list=$(ls /path/to/some/${files})
和它說
ls: /path/to/some/files/*/*/*.dat: No such file or directory
我應該怎麼辦呢?
如果我寫這個字符串在我的腳本:在bash腳本通配符擴展
list=$(ls /path/to/some/files/*/*/*.dat)
它工作正常。但我需要的是
files="files/*/*/*.dat"
list=$(ls /path/to/some/${files})
和它說
ls: /path/to/some/files/*/*/*.dat: No such file or directory
我應該怎麼辦呢?
如果你只能得到消息,那裏確實是不匹配的.dat
文件,添加到您的腳本:
shopt -s nullglob
這將導致水珠擴大到一個空列表,如果沒有匹配的文件,而不是字面上的處理。
適合我......只有在沒有.dat文件時纔會失敗。 – sashang 2012-07-27 11:51:51
你要用'$ list'做什麼?解析'ls'的輸出通常不是正確的方法。 – choroba 2012-07-27 11:57:57
我需要將這個列表分成幾個N文件,然後在集羣中的多臺計算機上爲每個作業啓動N個輸入文件。 – Morse 2012-07-27 12:56:11