2014-12-23 205 views
4

script命令執行並記錄日誌。使用linux腳本命令

http://www.computerhope.com/unix/uscript.htm

http://linuxers.org/article/script-command-line-tool-recordsave-your-terminal-activity

我使用script命令保存命令和那些輸出。

無論何時使用「腳本」,我都會輸入如下所示的命令。

$ script result.log 
Script started, file is result.log 
$ date 
$ ls -la. 
$ exit 

有時我想用這些命令與shell腳本。

所以我跑得像下面。

$ script -c test.sh result.log 

但result.log只有輸出,它不包含命令本身。 我希望result.log包含命令和輸出。

我該怎麼辦?

感謝

如果你使用的是sh -x運行腳本,將打印的命令或添加 集-x到腳本
+0

所有這些年我都不知道這個命令。很好,謝謝! – kamituel

回答

3

script -c "sh -x ./test.sh" reult.log 

輸出樣本:

+ date 
Tue Dec 23 09:52:22 CET 2014 
+ ls -la 
0
set -o verbose 

執行你的腳本之前,終端執行此或在腳本的開頭添加此。

這將更改終端配置以在執行它們之前回顯所有命令。

這將添加該命令,然後添加該命令的輸出。

你也可以使用:

set -x or set -v set -xv 

-x選項使變量擴展和回聲的所有的選項與命令一起使用。

-v類似於-o詳細這只是Echo的命令名

-xv回聲是兩者兼而有之。