[linux]bash -jiuyou九游娱乐官方
如果脚本需要用户交互,那么将其放在后台运行时,可以通过以下方法解决交互问题:
方法一:使用 tmux 或 screen
这些工具可以让你在后台运行脚本并保留交互功能。
- 启动一个
tmux或screen会话tmux new -s myscript
或者
screen -s myscript
运行脚本
在会话中运行你的脚本:bash -x run.sh分离会话
按下ctrl b,然后按d(对于tmux)。
或者按下ctrl a,然后按d(对于screen)。重新连接会话
随时通过以下命令重新连接:tmux attach -t myscript或者
screen -r myscript
方法二:使用 nohup tail -f 实时查看日志
如果你希望后台运行并观察日志:
后台运行脚本
nohup bash -x run.sh > script.log 2>&1 &实时查看日志
打开一个新的终端窗口,使用以下命令实时查看日志输出:tail -f script.log输入交互
这种方式适用于输入有限交互的脚本,但如果需要频繁交互,建议使用tmux或screen。
方法三:通过管道输入数据
如果你知道交互时需要输入的内容,可以将它提前写入文件,并使用重定向提供输入。
创建输入文件
假设交互需要输入以下内容:1 2 3保存到
input.txt:echo -e "1\n2\n3" > input.txt运行脚本并提供输入
bash -x run.sh < input.txt后台运行
使用nohup后台运行:nohup bash -x run.sh < input.txt > script.log 2>&1 &
方法四:设置默认值(适合需要很少输入的情况)
在脚本中为交互输入设置默认值,这样在没有用户输入时,脚本可以继续执行:
修改你的脚本中
演示
这就打开了 交互窗口
可以执行交互,执行命令。
然后也可以发现服务启动了,这边cpu都满了
后台先关闭窗口
ctrl b
再按d
本作品采用《cc 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步!
公众号:上海php自学中心