每次某个命令终止时如何自动执行命令?

示例:一旦add-apt-repository进程终止,立即运行apt-get update – 无需手动输入命令。

有没有办法做到这一点? 是否可以在不使用sudo密码的情况下设置这样的组合? (虽然我不介意任何一种方式)

我问以下内容: 如何将两个命令链接在一起,这样每当我执行一个特定的命令时,它总是执行后面的链接命令?

使用别名或简单的bash函数可以解决各种问题,但是您可以为命令编写一个小包装器并将其粘贴到/usr/local/bin ,该路径优先于您的路径。

这是创建脚本并同时chmod它的一个小技巧 。
它会在/usr/local/bin/add-apt-repository转储可执行的包装器脚本。

 sudo install -b -m 755 /dev/stdin /usr/local/bin/add-apt-repository << 'EOF' #!/bin/sh /usr/bin/add-apt-repository "$@" apt-get update EOF 

要解决此问题,只需删除/usr/local/bin/add-apt-repository

如果你想做一些更有成效的事情(比如链接apt-get installapt-get update以便你在安装之前总是更新),我们只需要扩展脚本来查看参数。

 sudo install -b -m 755 /dev/stdin /usr/local/bin/apt-get << 'EOF' #!/bin/sh if [ "$1" = "install" ] ; then /usr/bin/apt-get update fi /usr/bin/apt-get "$@" EOF 

虽然考虑到这将在每次 apt-get install调用之前运行更新。 这可能听起来很有帮助,但在实践中可能真的很乏味。

通常,

 sudo bash -c "command1; command2" 

如果只想在command1成功完成后运行command2,则可以使用&&而不是;

 sudo bash -c "command1 && command2" 

我将使用以下命令作为您的示例。

 sudo bash -c "add-apt-repository  && apt-get update" 

要以特定顺序执行某些命令,请使用shell脚本。 您所要做的就是 – 按Ctrl + Alt + T打开终端并按照步骤 –
1.输入gedit filename.sh
2.输入此命令后,将打开一个文本编辑器,您可以在每行中键入一个所需的命令。 例如,
sudo add-apt-repository
apt-get update
3.输入所有命令后,使用GUI保存并退出,或按Ctrl + SCtrl + Q.
4.现在你将返回终端。 在终端上运行sh filename.sh并执行命令,前提是命令中没有错误。
此外,如果从超级用户帐户(root)登录,则不必在命令中键入sudo

最简单的方法是运行:

 sudo add-apt-repository  && sudo apt-get update 

如果第一个命令成功完成,则第二个命令将运行。