2013-07-09 83 views
3

我正在嘗試將bash腳本的整個輸出保存到文件中。我現在有一個參數(IP地址)在代碼的開頭是這樣的:如何將bash腳本的整個輸出保存到文件

#!/bin/bash 

USAGE="Usage: $0 [<IP address>]" 

if [ "$#" == "0" ]; then 
     echo "$USAGE" 
     exit 1 
fi 
ip_addr=$1 

我希望做的是添加一個名爲「輸出」另一種說法,腳本的整個輸出將存到。我知道我可以運行myscript.sh | tee textfile.txt,但我想讓腳本更容易爲其他人運行。

由於提前,

hcaw

回答

5

用法消息後,添加以下行:

exec > "$2" 

這將重定向標準輸出爲腳本的其餘命名的文件第二個參數。

然後運行使用

myscript 192.0.2.42 output.txt 
+0

@hcaw您可以硬代碼的輸出文件的名稱(如你的問題「TextFile.txt的」),這樣用戶就不需要給一個額外的命令行論據。 –

+0

@chepner非常感謝,這解決了我的問題。 – hcaw

相關問題