我正在編寫一個腳本,其中一部分不能按我所期望的那樣工作。 我有一個簡單的例子,爆發這部分簡單bash:執行存儲在變量中的命令
echo 'echo "" > tmp' | while read cmd; do $cmd ; done
在這裏我希望完整的命令,「回聲‘’> TMP」到由$ CMD執行。 但是,什麼情況是這個
"" > tmp
命令執行的呼應了 「」> TMP literaly。而不是回顯「」並將其重定向到文件tmp。 將命令存儲在$ cmd中,然後嘗試執行它時,顯然有些問題。
的結果是一樣的,即使我把它簡化進一步
cmd="echo "" > tmp"
$cmd
> tmp
我試圖用「」和「」不同的用途進行試驗,但沒有解決它。
請仔細閱讀http://mywiki.wooledge.org/BashFAQ/050 –