Terminal
用作 ac 程序的標準輸出時不覆蓋文件
我已經使用
gcc
和make
編譯了一個c
文件。執行文件的名稱是sequence
. 我有兩個目標:
- 有一個輸入文件(即
in1
)作為stdin
並執行程序。in2
當程序完成使用 in1 並終止時,使用不同的輸入文件(即在終端命令中指定)再次執行它。- 讓程序執行的所有不同時間的所有輸出都轉到同一個文件(即
output1
),而不覆蓋以前的輸入。所以結果將是這樣的:輸入文件:
in1
:a
in2
:b
in3
c
在程序中:
putchar(getchar());
輸出:
a b c
如何通過終端命令達到預期的結果?
您似乎混淆了外殼的責任和程序的責任。
你有兩個選擇
讓程序打開 3 個文件,並將它們寫入標準輸出。這就是貓所做的。
program in1 in2 in3
使用 shell-redirection-append
>>
。例如
program <in1 >> file-name program <in2 >> file-name program <in3 >> file-name
或使用括號和覆蓋重定向
{ program <in1 program <in2 program <in3 } > file-name