我正在编写一个脚本,用于初始设置我的 Droplet。在脚本中,我将打开与 Ubuntu 14.04 服务器的 ssh 连接,如下所示(使用先前定义的USER
变量REMOTE
):
ssh -t -t $USER@$REMOTE <<'ENDSSH'
ENDSSH
在该 SSH 连接中,我有多个想要执行的命令 - 安装 Node.js、更新 npm、安装 MongoDB 等等。
但是,一旦我执行一个apt-get install
命令,其他命令就不会执行。
所以,如果我有这个:
ssh -t -t $USER@$REMOTE <<'ENDSSH'
sudo apt-get update
sudo apt-get install -y nodejs
sudo apt-get install -y npm
ENDSSH
命令sudo apt-get install -y npm
不会被执行。现在,我知道我可以在同一apt-get install
命令中安装多个软件包,但这不是我要问的,因为之后的其他命令将不会被执行。我只是为了简单起见写了这个例子,这样我就可以解释我的问题。
我遇到了类似的问题这个他们说我应该-t
在打开连接时放置多个标志ssh
,我正在这样做,但这没有帮助。
我究竟做错了什么?