Ste*_*ett 6 ssh bash shell macos
复制粘贴您在网站上找到的一系列 Bash 命令是很好的。但是根据命令,有时您会丢失一些。也许他们被从标准输入读取的程序吞没了,或者也许有另一种解释。
所以我有时会这样做:
$ bash <<EOF
cmd2
...
EOF
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?一些 Bash 选项?SSH 选项?(我的设置是在 Ubuntu 服务器上运行的 Bash,我从标准 OS X 终端通过 SSH 连接到该服务器。不确定其中有多少相关。)
编辑
为了响应对具体示例的请求,这里有一个。我将以下四行粘贴到一个 SSH shell(来自我的 Snow Leopard 桌面)中,该 shell 连接到一个在 OpenStack VM 上运行的股票 Ubuntu Quantal,在 Bash shell 中。
sudo apt-get install -y r-base gdebi-core
sudo apt-get install -y libapparmor1 # Required only for Ubuntu, not Debian
wget http://download2.rstudio.org/rstudio-server-0.97.314-amd64.deb
sudo gdebi rstudio-server-0.97.314-amd64.deb
Run Code Online (Sandbox Code Playgroud)
前两个命令执行(成功),而后两个命令显然从未被服务器接收(或者至少从未被 Bash 处理)。
你也可以使用类似的东西pbpaste | bash。并且edit-and-execute-command( \C-x\C-e) 也适用于多个命令。
如果某些命令需要 root 权限,您可以使用sudo -v5 分钟来验证时间戳。
一个快速但肮脏的解决方案是运行以下命令:
bash -c '<paste commands here>'
Run Code Online (Sandbox Code Playgroud)
即使粘贴包含换行符,此方法也有效。如果粘贴包含单引号,则可能会失败。如果您了解bash 引用规则,您应该能够针对您尝试运行的特定命令修改此方法。
| 归档时间: |
|
| 查看次数: |
4579 次 |
| 最近记录: |