在bash腳本中,我想顯示另一個腳本的輸出,其中的執行時間很長,哪些輸出(包含進度欄)會重定向到文件。如何在循環中使用尾部-f
我推出了使用tail -f
的想法,而我啓動的過程仍在運行。
虛擬試:
#!/bin/bash
./worker.sh & # will log in LOG file
while [[ $(kill -0 $!) ]]; do # my implementation of ps does not support the -p option
tail -f LOG
done
...
這並不爲tail
「掛起」 工作。
我找到了一個解決方法使用以下,但我敢肯定,還有另一種更簡潔的方案:
#!/bin/bash
./worker && pkill tail & # I assumed that worker will always return 0
tail -f LOG
...
所以,我的問題是:什麼是要顯示的最佳方式正在運行的進程的輸出在不等待它完成的情況下登錄到文件中?
在循環中運行'tail -f'的目的是什麼?當使用'-f'標誌時,'tail'命令將在文件更新時繼續顯示。 –
事實上,這是一個愚蠢的想法 – Zermingore