0
我變得有些不同的結果與使用這些命令:利用雙贏的bash不同的結果對於不同的Unix相同參數的函數
ls "$MYDIR/*.avi"
md5sum "$MYDIR/*.avi"
。前者僅列出以.avi結尾的文件,而後者則對包含.avi的所有文件執行校驗和計算。這是預期的嗎?我認爲通配符操作應該始終保持一致。
我變得有些不同的結果與使用這些命令:利用雙贏的bash不同的結果對於不同的Unix相同參數的函數
ls "$MYDIR/*.avi"
md5sum "$MYDIR/*.avi"
。前者僅列出以.avi結尾的文件,而後者則對包含.avi的所有文件執行校驗和計算。這是預期的嗎?我認爲通配符操作應該始終保持一致。
因爲你在引用通配符,所以它不會被shell擴展(但變量是)。這意味着你讓命令決定如何處理*
角色。
您希望shell調用命令之前展開的文件名:
ls "$MYDIR"/*.avi
md5sum "$MYDIR"/*.avi
您可能希望將結果存儲在一個數組,如果你重複使用它們
files=("$MYDIR"/*.avi)
ls "${files[@]}"
md5sum "${files[@]}"
能您查看再次發佈並正確地使用'ls'和'md5sum'命令的格式?在堆棧溢出中,「逐字」(又名「代碼」或「預格式化」)文本應附帶反引號。我可以直接編輯你的文章,但是想知道我應該怎麼做,因爲你的文章中雙引號的數量有些問題。 – nodakai