script
命令执行并记录日志。
(http://www.computerhope.com/unix/uscript.htm)
(http://linuxers.org/article/script-command-line-tool-recordsave-your-terminal-activity)
我使用script
命令保存命令和那些输出。
每当使用'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包含命令和输出。
我该怎么做?
由于
答案 0 :(得分:3)
如果使用sh -x运行脚本,它将打印命令或添加 将-x设置为您的脚本。
script -c "sh -x ./test.sh" reult.log
示例输出:
+ date
Tue Dec 23 09:52:22 CET 2014
+ ls -la
答案 1 :(得分:0)
set -o verbose
在执行脚本之前在终端上执行此操作,或在脚本的开头添加它。
这将更改终端配置以在执行之前回显所有命令。
这将添加命令,然后输出该命令。
你也可以使用:
set -x or set -v set -xv
-x 选项启用变量扩展和回显命令所使用的所有选项。
-v 类似于 -o verbose 这只是回显命令名
-xv 回显两者。