我遇到了一些麻煩,它們使用I/O重定向來創建全面的日誌文件。我擁有的是一個bash shell腳本,用於創建稍後用於輸入幾個FORTRAN程序的文本文件。所以基本上我有;在bash中重定向stdin和stdout以獲得全面的日誌文件
echo -e "Responses \nTo \nFORTRAN \nPromts" > myprogram.in
myprogram < myprogram.in
這工作得很好,我得到我從FORTRAN程序需要的結果,但我想有顯示其次是響應FORTRAN提示(標準輸出)的記錄(file.log)(標準輸入),然後另一個FORTRAN提示和響應。
到目前爲止,我只能想出類似這樣的東西;
echo -e "Responses \nTo \nFORTRAN \nPromts" > myprogram.in
tee file.log < myprogram.in | myprogram >> file.log
它產生一個file.log像下面的例子;
迴應
要
FORTRAN
提示
這是myprogram
開幕提示 「請輸入內容」
你回答 「迴應」
「請輸入別的東西」
你說「要」
等等
據我所知,基本上是我做的是用發球臺到標準輸入複製到文件.log並將其管入myprogram中。然後只是將程序提示重定向到file.log。
是否有可能將響應重定向並提示重定向到程序,以便問題和響應按照時間順序排列在我的日誌文件中;
這是myprogram
開幕提示 「請輸入內容」
迴應
你回答 「迴應」
「請輸入別的東西「
爲
你說「要」
等....
這個問題似乎有點簡單,我認爲它可以很容易地完成,但我開始認爲僅僅使用I/O重定向是不可能的(比如管道,文件描述符,進程管理甚至三通)。答案可能只是修補FORTRAN程序以迴應輸入,而不是嘗試使用shell檢索它? –