1
這個問題通過克里斯 - 約翰遜來自臨bash編程在第2章練習2:如何將標準輸出同時重定向到變量和文件?
寫一個腳本,使用$ RANDOM,下面的輸出同時編寫到一個文件,一個變量。以下數字僅用於顯示格式;你的腳本應該產生不同的數字:
1988.2365
13798.14178
10081.134
3816.15098
這裏是我的解決方案:
printf -v var "%5d.%-5d\n" $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM > FILE
看來,輸出直接進入VAR,文件是空的。
我的問題是,有沒有辦法將標準輸出重定向到變量和文件在同一時間?
非常感謝,有效! – 47dev47null
@ 47dev47null:不客氣! – ruakh
@ 47dev47null通過腳本或者通過命令行爲您完成這項工作嗎?如果我在命令行中輸入這個名稱,它會「有效」,儘管var中的文本格式不正確(沒有換行符,只是每個數字之間有空格)。但是,如果我在腳本中執行完全相同的命令(相同的命令,但是文件的頂部有#!/ bin/bash),那麼隨後var就是空的。如果我從腳本內部打印var,那沒問題。任何想法爲什麼var不會在運行腳本後保持設置?謝謝! –