我想將表達式('if'語句)的輸出重定向到文件中。例如。我想「./primitives'的輸出重定向到一個文件中,其中表達的‘如果’語句是」 ./primitive」,是這樣的:BASH評估輸出重定向
if ./primitives 1>> output.txt ; then
echo "primitives OK. " | tee -a output.txt
fi
以上將無法工作,所以從開始:
if ./primitives ; then
echo "primitives OK. "
fi
我怎麼「./primitives'的輸出到一個文件,然後只能隨聲附和字符串‘原始人確定’。如果」 ./primitives'正確執行?
對於加分,我怎麼會重定向的唯一標準輸出」 ./primitives'附加到文件‘output.txt的’如果執行正確,然後打印‘元確定。’到控制檯和附加到兩個文件?但是,如果'./primitives'沒有正確執行,請不要將任何內容打印到'output.txt'並只將STDERR打印到控制檯?
或者我看着這個問題的方式是錯誤的?
感謝
編輯:
當前的腳本和輸出是:
腳本:
#!/bin/bash
if ./compile.sh; then
echo "Compile OK. " | tee output.txt
if ./primitives 1>> output.txt ; then
echo "primitives OK. " | tee -a output.txt
fi
if ./composites 1>> output.txt ; then
echo "composites OK. " | tee -a output.txt
fi
fi
當前控制檯輸出:
Compile OK.
期望控制檯輸出:
Compile OK.
primitives OK.
composites OK.
不是,請參閱上面的編輯爲什麼不是 – dje1990 2013-02-24 20:33:52
是否將'primitives'的輸出附加到'output.txt'?如果是這樣的話,看起來'primitives'正在退出時帶有一個非零的退出代碼,從而阻止執行'if'語句的主體。 – chepner 2013-02-24 20:40:19
'primitives'正在執行零代碼正確退出,但是echo不會在output.txt或控制檯輸出,所以也許我使用了'tee'錯誤?任何想法?我會有一個谷歌。由於 – dje1990 2013-02-24 20:43:31