Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个终端/ssh会话中运行命令的Bash脚本_Bash_Shell_Vagrant - Fatal编程技术网

在两个终端/ssh会话中运行命令的Bash脚本

在两个终端/ssh会话中运行命令的Bash脚本,bash,shell,vagrant,Bash,Shell,Vagrant,我正试图用bash脚本自动设置和配置一个vagrant进程 问题是,我需要ssh两次进入我的vagrant机器,我希望两个终端都能在我的屏幕上看到 过程是这样的 在1号航站楼: vagrant up vagrant ssh myhost wait cd /my/directory/ ... do some commands... 然后,我希望这个终端保持/保持打开状态,并在另一个流浪会话开始的地方打开一个新选项卡 wait cd /my/other/directory .... do some

我正试图用bash脚本自动设置和配置一个vagrant进程

问题是,我需要ssh两次进入我的vagrant机器,我希望两个终端都能在我的屏幕上看到

过程是这样的

在1号航站楼:

vagrant up
vagrant ssh myhost
wait
cd /my/directory/
... do some commands...
然后,我希望这个终端保持/保持打开状态,并在另一个流浪会话开始的地方打开一个新选项卡

wait
cd /my/other/directory
.... do some commands...

我已经将脚本用于第一个vagrant/terminal会话,并存储在我的/bin/目录中,但是如何添加第二个

它的外观取决于终端仿真器,但基本模式可能如下所示:

第一个脚本(
script1.sh

第二个脚本(
script2.sh

诀窍是从第一个脚本打开另一个终端窗口(对于
xterm
its
xterm-e

如果您对终端模拟器的工作方式感兴趣,请考虑使用<代码> TMUX (终端多路复用器)。

其他一般提示:通常不建议将本地创建的脚本存储在
/bin
下。更常见的位置是
/usr/local/bin
$HOME/bin
(尽管
$HOME/bin
可能需要单独配置)

vagrant up
vagrant ssh myhost
wait
cd /my/directory/
xterm -e script2.sh &
... do some commands...
wait
cd /my/other/directory
.... do some commands...