Bash
記錄程序的標準輸入和標準輸出
我想要的是執行一個程序並同時記錄標準輸入和標準輸出,但我希望從文件中提供標準輸入。
我認為
script log.txt < input.txt
會工作,但它沒有,因為標準輸入沒有被記錄,只有輸出被記錄。input.txt 在哪裡
./program something for the stdin of program some more stuff
您已經有了標準輸入日誌:那是您的文件。
否則(不確定這是否是您要完成的任務),如果您希望包含散佈的標準輸入和標準輸出的日誌,您可以修改您的程序以在讀取時將這些行從標準輸入發送到標準輸出,之前它們被處理。
這可能不是最漂亮的解決方案,但您可以執行以下操作:
cat file.txt | tee -a stdin.txt | ./program | tee -a stdout.txt
您可以在兩個 tee 中使用相同的文件,但您的輸入和輸出可能會被破壞和不可讀。