如何在 Linux 的命令中插入单词?
How can I insert a word inside a command in Linux?
现在,我有一个简单的文件,每次打开我的 Gitpod(cloud env) 时都会运行。我正在制作一个文件,以便我可以通过 ngrok 访问它。但是,我需要一些包,比如 wget、unzip 和 neofetch(为了方便)。但是它在 不同的 终端中打开,我每次都必须输入 y。有没有办法在命令中输入 y 它会自动安装?
文件的源代码:
#!/bin/bash
sudo apt update
sudo apt install wget unzip openssh-server neofetch -y
sudo service ssh start
echo "Set Password for Gitpod as gitpod"
sudo passwd gitpod
wget "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip"
unzip "ngrok-stable-linux-amd64.zip"
echo "I need your ngrok auth token. Enter it below."
read -p "ngrok authtoken:" authtoken
./ngrok authtoken $authtoken
echo "Authtoken activated, now activating server..."
./ngrok tcp 22
sudo apt install wget unzip openssh-server neofetch -y
我在这一行中的输入是否正确?如果这行得通,每当我获得云环境时,它就可以安装所有依赖项并继续。
输出:
不是答案,是输出。
这条鱼shell我喜欢并使用它的输出:
Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
gitpod@ws-588be66f-373e-46f0-8342-5d39b8c863f4 /w/coder-lg-blog-codedoc (master)> sh .gitpod/ngrok.sh
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://ppa.launchpad.net/git-core/ppa/ubuntu focal InRelease
Hit:5 https://deb.nodesource.com/node_16.x focal InRelease
Hit:6 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:7 https://apt.llvm.org/focal llvm-toolchain-focal InRelease
Hit:8 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
107 packages can be upgraded. Run 'apt list --upgradable' to see them.
.gitpod/ngrok.sh: 5: y: not found
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
是的,它是我博客的云 Gitpod 环境,我希望通过 ngrok 建立 SSH 隧道,但它是这样说的:
/repo > .gitpod/ngrok.sh: 5: y: not found
我该如何解决这个问题? mod 删除了最后一个输出所以请不要删除这个!它主要是 Gitpod 终端的一个输出。
您可以在脚本中添加 echo
命令并将其用作下一个命令的标准输入。
echo y | [next-command]
请勿删除。
来自@Biffen,这就是解决方案!
That error doesn’t look like the result of the code in the question. Are you running the strange suggestion in one of the answers; | y
? That won’t work. Have a look at this.
感谢所有在这里提供帮助的人,我将此标记为答案,因为 Biffen 的回复是评论。
编辑:从现在开始的 2 天内,我可以将其标记为答案,因为 Stack Overflow 是这么说的。
现在,我有一个简单的文件,每次打开我的 Gitpod(cloud env) 时都会运行。我正在制作一个文件,以便我可以通过 ngrok 访问它。但是,我需要一些包,比如 wget、unzip 和 neofetch(为了方便)。但是它在 不同的 终端中打开,我每次都必须输入 y。有没有办法在命令中输入 y 它会自动安装?
文件的源代码:
#!/bin/bash
sudo apt update
sudo apt install wget unzip openssh-server neofetch -y
sudo service ssh start
echo "Set Password for Gitpod as gitpod"
sudo passwd gitpod
wget "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip"
unzip "ngrok-stable-linux-amd64.zip"
echo "I need your ngrok auth token. Enter it below."
read -p "ngrok authtoken:" authtoken
./ngrok authtoken $authtoken
echo "Authtoken activated, now activating server..."
./ngrok tcp 22
sudo apt install wget unzip openssh-server neofetch -y
我在这一行中的输入是否正确?如果这行得通,每当我获得云环境时,它就可以安装所有依赖项并继续。
输出: 不是答案,是输出。
这条鱼shell我喜欢并使用它的输出:
Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
gitpod@ws-588be66f-373e-46f0-8342-5d39b8c863f4 /w/coder-lg-blog-codedoc (master)> sh .gitpod/ngrok.sh
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://ppa.launchpad.net/git-core/ppa/ubuntu focal InRelease
Hit:5 https://deb.nodesource.com/node_16.x focal InRelease
Hit:6 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:7 https://apt.llvm.org/focal llvm-toolchain-focal InRelease
Hit:8 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
107 packages can be upgraded. Run 'apt list --upgradable' to see them.
.gitpod/ngrok.sh: 5: y: not found
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
是的,它是我博客的云 Gitpod 环境,我希望通过 ngrok 建立 SSH 隧道,但它是这样说的:
/repo > .gitpod/ngrok.sh: 5: y: not found
我该如何解决这个问题? mod 删除了最后一个输出所以请不要删除这个!它主要是 Gitpod 终端的一个输出。
您可以在脚本中添加 echo
命令并将其用作下一个命令的标准输入。
echo y | [next-command]
请勿删除。
来自@Biffen,这就是解决方案!
That error doesn’t look like the result of the code in the question. Are you running the strange suggestion in one of the answers;
| y
? That won’t work. Have a look at this.
感谢所有在这里提供帮助的人,我将此标记为答案,因为 Biffen 的回复是评论。
编辑:从现在开始的 2 天内,我可以将其标记为答案,因为 Stack Overflow 是这么说的。