運行在我的標準OSX終端工作如下預期:NPM腳本命令失敗,使用過程中替換
$ diff <(ls dir1) <(ls dir2)
correct output here
但是當我嘗試運行它作爲一個NPM腳本,它將失敗:
$ npm run diff
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `diff <(ls src) <(ls dist)'
當我將NPM腳本更改爲"bash -c 'diff <(ls dir1) <(ls dir2)'"
時,它首先輸出所需的結果,然後拋出錯誤(退出狀態1)。
編輯:那些奇怪的<()
符號是process substitutions順便說一句。剛剛瞭解了他們。
退出狀態可能是diff的退出狀態,如果文件或輸入不同,那麼它是1,所以不一定是錯誤? –