我試圖做一個腳本來將一些輸出從一些函數重定向到一個文件。這是我的代碼的樣子。Bash將多個函數的輸出重定向到一個文件
#!/bin/bash
touch /var/log/test.log
results=/var/log/test.log
outputFormat()
{
echo "This is outputFormat" >> results
}
outputParseFull()
{
echo "This is outputParseFull" >> results
outputFormat;
}
outputParseFull;
運行後,會創建/var/log/test.log,但文件本身是空白的。我想讓該文件包含以下
這是outputParseFull
這是OUTPUTFORMAT
一號線必須從每個功能。我在這裏做錯了什麼?
+1''bash'語法的一個不明確的角落是,您還可以將輸出重定向應用於函數的定義:'outputParseFull(){...; }>「$ results」'。這將重定向每個調用的函數的標準輸出(也就是說,每個調用都會覆蓋文件的內容;每次調用該函數時都使用'>>「$ results」'附加到文件中)。 – chepner 2014-09-11 12:57:11
@chepner - WOW - 這對我來說是新的。去閱讀它。 THANX! ;) – jm666 2014-09-11 12:59:33