Shell-Script

輸出重定嚮導致空文件

  • March 12, 2021

我有一個 shell 腳本,我最好不要編輯它,但我必須使用它的輸出。Doing./SomeScript.sh -d會在 shell 上顯示我需要的輸出。

但是,如果我嘗試重定向輸出,我會得到一個空文件。

./SomeScript.sh -d > temp 
cat temp

檢查後為什麼重定向輸出有時會產生一個空文件?,我也嘗試過echo $(./SomeScript.sh -d),但該命令什麼也沒列印。

最初我試圖grep從輸出中提取一行,但在意識到沒有返回任何內容後,我嘗試將輸出重定向到一個文件並意識到這個問題。知道為什麼會發生這種情況嗎?

script -c "./SomeScript.sh -flags" temp

這個命令對我有用,但我也不太清楚為什麼。

利用

./SomeScript.sh -d >> temp

這將追加腳本的每一行,而不是逐行寫入和覆蓋。

編輯:試試

./SomeScript.sh -d &>> temp

如果你想重定向標準錯誤和標準輸出。

引用自:https://unix.stackexchange.com/questions/638682