我猜你已经知道如何在 Linux 中创建别名了。 别名可帮助您轻松运行冗长的自定义命令。 您可以通过将别名添加到您的 bashrc 或您在 Linux 中运行的任何 shell 的配置文件中来使别名永久化。
当您尝试运行别名时会出现问题 sudo. 你会看到这样的错误:
sudo: my_alias: command not found
这是一个 example. 我创建了一个别名 up
为了 apt update
命令。 apt update 命令需要运行 sudo. 但是如果我尝试运行 sudo up
,它给出了一个错误:
你会认为,既然你是以root用户运行,那么别名应该定义在root用户的bashrc中,即/.bashrc。 继续尝试,但我敢打赌它不会工作。
让我向您展示一个巧妙的小技巧来运行别名命令 sudo.
运行别名命令 sudo 使用权
诀窍是为 sudo 本身是这样的:
sudo='sudo '
之后的空格(或制表符,如果您愿意的话) sudo 在上面的代码中很重要。 现在,如果你运行你的别名命令 sudo,它应该工作得很好。
但为什么? 当您所做的只是更换时,为什么它现在可以工作 sudo 命令与 sudo 和一个空间? 答案在于别名的使用方式。
如果您参考 别名的一部分 bash 手动的,您将看到每个简单命令的第一个单词(如果未加引号)会被检查以查看它是否具有别名。 如果别名值的最后一个字符是空格或制表符,则别名后的下一个命令字也将检查别名扩展。
换句话说,在命令中只检查第一个单词的别名。 但如果别名值末尾有空格或制表符,则还会检查命令的下一个单词是否有别名。
这就是为什么当你简单地运行 sudo my_alias 命令 sudo 别名为 ‘sudo ‘,首先 sudo 检查别名。 发现别名末尾有空格,因此您的系统会检查下一个单词是否有别名。 它也会找到这个别名的别名,并且您的别名命令可以按您希望的方式工作。
我希望你喜欢这个有助于运行别名的快速小技巧 sudo. 任何问题或建议总是受欢迎的。