在这里看到一个帖子:Change PS1 after running the 'script' command但它似乎没有回答这个问题。Linux脚本命令与PS1更改
我想要一个脚本运行“脚本”命令,并更改提示(PS1)以表明该shell现在是脚本。基本上,正常的PS1的红色部分是“[UNSCRIPTED]”,因此评估者知道他们没有使用脚本窗口,一旦他们准备好进行评估,他们就会运行这个脚本,现在窗口会被编写脚本,提示会改变,以指示这种情况
现在,如果您逐个粘贴命令,但尝试将它们角色到脚本中时不起作用,因为“脚本”命令会启动新过程,所以PS1更改将仅适用于父进程(shell脚本从此运行),并且在退出“脚本”进程之前不会生效。
我已经尝试了许多变体的后台脚本过程(&),运行命令顺序(;和& &),但在继续前,所有这些都仍然等待父进程(脚本命令)完成。
下面是一行(复制/粘贴),如果跑线上工作的命令,但我不能得到一个shell脚本工作:
script -af /opdata/logs/scripted/script.$$
# SETUP WINDOW ENVIRONMENT
PS1='\d \t \[email protected]\h \[\e[38;5;33m\]\w \[\e[0m\]# '
date -u
date
hostname
ifconfig -a
netstat -nr
uname -a
我遇到了使用-c标志的问题,因为在运行我的命令后脚本会关闭,我不认为运行bash作为最终命令。 –