我有一个shell脚本,我希望每次脚本运行时都会自动保存会话文本,所以我包含了命令" script -a output.txt"在我的脚本开头。但是,脚本在此代码行之后停止运行,该代码只显示" bash-3.2 $"在屏幕上,不会继续。有什么想法吗?
提前致谢!
答案 0 :(得分:1)
问题是脚本启动一个单独的子shell 而不是运行实际脚本的那个,以将它们组合在一起。使用-c
script
标记
-c, --command command
Run the command rather than an interactive shell. This makes
it easy for a script to capture the output of a program that
behaves differently when its stdout is not a tty.
做,
script -c 'bash yourScript.sh' -a output.txt