bash - 运行我的 bash 脚本来设置 ssh 隧道时,它会停止一半

标签 bash shell ubuntu

以下是我设置 ssh 隧道的 bash 脚本。但是,它总是在到达 echo 部分时停止。有谁知道为什么?我的发行版是 ubuntu 20。

apt update && apt install -y wget && DEBIAN_FRONTEND=noninteractive apt-get install 
openssh-server -y && 
mkdir -p ~/.ssh && cd $_ &&
echo "ssh-ed25519 
AAAAC3NzaC1lZDI1NTE5AAAAII2AOiMJXSWr/yYuAkSur/QSfdwBbmK3hs4qzlMvOQxT dmml@Dmms-MBP" 
>> authorized_keys
&& service ssh start
谢谢。

最佳答案

我的回复最好放在评论中,但我无法正确格式化,所以我会在这里发布。该问题可能是由于格式问题。将传递给 echo 命令的字符串拆分为多行尤其成问题。尝试重新格式化,如下所示,注意每行末尾的反斜杠 (\)。可能有比将大量命令串在一起更好的方法来实现目标。此外,请抵制在此处使用“set -e”的诱惑。有关其他详细信息,请参阅评论。

apt update && \
apt install -y wget && \
DEBIAN_FRONTEND=noninteractive apt-get installopenssh-server -y && \
mkdir -p ~/.ssh && \
cd $_ && \
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2AOiMJXSWr/yYuAkSur/QSfdwBbmK3hs4qzlMvOQxT dmml@Dmms-MBP" >> authorized_keys && \
service ssh start

关于bash - 运行我的 bash 脚本来设置 ssh 隧道时,它会停止一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71890690/

相关文章:

linux - linux shell netmask2cdir和cdir2netmask中cidr到netmask转换器的解释

mongodb - 为什么 mongorestore 非常缓慢?

linux - 可在 Ubuntu 和 MacOsX 上运行的 bash 脚本

linux - 需要使用 unix 脚本移动具有文件路径的目录中的文件名

里面的 shell # (( ))

ubuntu - 设置 make 总是同时做 8 个工作

ios - 我可以使用 Ubuntu 创建 Apple iPod/iPhone/iPad 应用程序吗?

python - C 程序执行 bash 脚本 + 传递其命令行参数

linux - 在 for 循环 |bash 中为变量赋值时出现问题

java - 从 Jenkins 启动和停止一个 jar