如何在shell脚本中添加PPA而无需用户输入?

基本上,我想要运行add-apt-repository ppa:(whatever)而不需要"按Enter键继续"的提示。我该怎么做?
本质上,我想在shell脚本中部署添加存储库而无需用户输入。

13只需在命令add-apt-repository -y ...的末尾添加“-y”。 - Uri Herrera
1man add-apt-repository,你会看到@UriHerrera所说的-y开关。 - NickTux
2个回答

脚本的内容如下
#! /bin/sh
sudo add-apt-repository ppa:(Your ppa here) -y

顺便说一下,你仍然需要输入密码。

你遇到了什么错误? - Registered User
1阿迪提亚,你这个人真行啊!刚刚检查了一下,确实有效哈哈 :D - Babin Lonston
2你应该以root身份运行脚本,这样就不需要使用sudo命令,也就不需要输入密码了。 - rubo77

当然,如果你真的想给R2D2留下深刻印象,也可以避免密码提示。为此,请准备好像这样的用户账户:
you@yourhost:~$
you@yourhost:~$ cat /home/you/.bash_login;
# ASK_PASS service for you «begins»
export SUDO_ASKPASS="/home/you/.ssh/.supwd.sh";
# ASK_PASS service for you «ends»
you@yourhost:~$
you@yourhost:~$
you@yourhost:~$ cat /home/you/.ssh/.supwd.sh;
#!/bin/sh
echo '(Your sudoer password here)';
you@yourhost:~$
you@yourhost:~$
you@yourhost:~$ ls -l .ssh/.supwd.sh 
-rwx------ 1 you you 35 Mar 31 10:28 .ssh/.supwd.sh
you@yourhost:~$ 
you@yourhost:~$
you@yourhost:~$ cat ./tmp.sh 
#!/bin/sh
. /home/you/.bash_login;  # 'source' bash_login to declare the ask_pass script
sudo -A add-apt-repository ppa:(Your ppa here) -y;
# The flag '-A' lets you add the repo without sudo demanding your password.
#
you@yourhost:~$

2不应该允许没有解释的负评。楼主说:“……我想在一个shell脚本中部署添加一个仓库,而不需要用户输入。”输入sudo密码是用户的输入。没有任何理由给这个帖子点负评。这样做只是随意的恶意行为。 - Martin Bramwell