如何在脚本文件中发送回车键?我正在从脚本安装所有 PPA,虽然它可以工作,但目前添加每个 PPA 都需要用户输入回车键。
#!/bin/bash
add-apt-repository ppa:yannubuntu/boot-repair
add-apt-repository ppa:libreoffice/libreoffice-5-1
答案1
在这个特殊情况下,您需要-y
添加标志。来自man add-apt-repository
:
-y, --yes 假设所有查询都是肯定的
答案2
评论来自科斯是正确的,这或多或少是在回答运行 Bash 脚本时自动确认。
Serg 的想法很正确,他忘记了传递回车符,而只是将 -y 传递给 add-apt-repository。只需使用他的答案即可。
-y, --yes 假设所有查询都是肯定的
所以你的脚本看起来应该是这样的;
#!/bin/bash
add-apt-repository -y ppa:yannubuntu/boot-repair
add-apt-repository -y ppa:libreoffice/libreoffice-5-1
Shell 的回车符
只是为了澄清如何从脚本发送回车符,实际上有很多选择。
您可以使用是的命令被设计为输出 y 以及换行符或带有换行符的可选参数。因此,没有参数的 yes 是回车符。您可以在脚本中使用示例中的命令传递回车符;
#!/bin/bash
yes '' | add-apt-repository ppa:yannubuntu/boot-repair
yes '' | add-apt-repository ppa:libreoffice/libreoffice-5-1
我认为如果 echo 传递一个新行,它实际上也会起作用,同样从你的例子来看;
#!/bin/bash
echo | add-apt-repository ppa:yannubuntu/boot-repair
echo | add-apt-repository ppa:libreoffice/libreoffice-5-1
或者对于更复杂的变化你可以使用预计甚至。