我從陣列建立bash命令標準輸出到文件中使用bash命令如下:重定向括號
cmd=(java -Xmx8g -jar program.jar input.vcf ">" output.vcf)
我沒有問題,使用echo
時:
echo "${cmd[@]}"
java -Xmx8g -jar program.jar input.vcf > output.vcf
但是,當我運行它使用:
"${cmd[@]}"
的>
被忽略,我不能stdout重定向到output.vcf
文件。
請問,你能給我一個解決方案嗎?
當你通過它的方式,'''不*忽略*;相反,它作爲參數傳遞給Java程序。 – 2014-09-19 23:47:48
這是一個(安全性和正確性)功能,而不是一個錯誤 - 它意味着數據(如參數)不能被視爲代碼而不會有意的相反行爲。 – 2014-09-19 23:48:20
您可以使用'eval「$ {cmd [@]}''。 – ooga 2014-09-19 23:49:06