我的這個腳本正在慢慢變大。它的輸出在調用時被傳送到一個文件(稍後用於構建電子郵件主體),但是,我在該腳本中調用了一個特定的命令,該命令的輸出要修剪。Bash腳本。在輸出到文件的腳本中隱藏一個特定命令的輸出
我試圖做
./somecommand | egrep "pattern1|pattern2"
其中在常規控制檯窗口,但工作正常時,偷偷溜進我的更大的腳本,該管的egrep被忽略,「./somecommand」的全輸出登錄到父腳本的輸出中。
如何解決?
我保持這個問題模糊,以避免複製粘貼整個該死的東西。更多信息可以根據要求提供。是的,腳本中的腳本中的腳本,我們需要更深入,等等。我最多可以使用五個腳本來處理不同的任務,作爲更大型的多服務器備份操作的一部分。主操作腳本被輸出到電子郵件正文周圍的文本文件中,作爲最終用戶看到的日誌記錄。我在主腳本中調用的一個特定腳本非常「嘈雜」,因此egrep只抓取與用戶相關的輸出。
謝謝大家!
你可以在殼調試,'設置-vx'轉,和編輯您的問題只顯示其中的代碼被執行,與輸出的一點點的地方。你的egrep模式中是否有'*'字符?你的腳本是否在內部使用'exec ... 2>&1'捕獲/重定向?祝你好運。 – shellter