我正在尝试创建一个非常简单的shell脚本,它打开并运行我的程序的五个实例。对于批处理,我会做这样的事情:
@echo off
python webstore.py 55530
python webstore.py 55531
python webstore.py 55532
exit
这将打开三个终端并使用不同的命令行参数在每个终端上运行命令。如何使用在每个基于unix的平台上运行的shell脚本创建相同的内容?我已经看到了一些打开终端的命令,但它们是特定于平台的(gnome-termial,xterm等)。
答案 0 :(得分:1)
如何使用在每个基于unix的平台上运行的shell脚本创建相同的内容?
你所要求的是有点不合理。想一想:在Windows上,你总是在Desktop Window Manager期内,而你唯一的选择是在Powershell和cmd.exe
之间。但在Linux上,它有点复杂:
rxvt
或xterm
。fbterm
或tmux
这样的花哨程序,否则它几乎无法进行多任务处理,只能单独生成新窗口。zsh
,bash
,sh
,fish
等所有这些都有自己的特质。 IMO最好的选择是在脚本中测试安装了哪些程序,或者在tmux
等终端多路复用器周围编写脚本,并要求将其安装在目标计算机上。 tmux
正在行动中:
(这适用于SSH,Linux控制台或上述任何其他场景。)
但是,如果您不关心将要运行的命令的输出,您可以将它们从当前的终端会话中分离出来,如下所示:
command1 &>/dev/null &
command2 &>/dev/null &
command3 &>/dev/null &
请注意:
&>/dev/null
,则每个命令的输出将相互缠绕,这可能不是您想要的。command
实例。上面提到的问题可以解决,但我认为这个答案有点超出了范围。
就我是否需要查看控制台输出而言,我个人会选择tmux
或分离解决方案。