忽略每个命令的 sudo

忽略每个命令的 sudo

我目前正在开发一个 Linux 变体,其中默认用户是 root,并且不可能使用 sudo 命令,因为没有安装这样的软件包,并且在这种情况下没有添加它的选项。默认情况下,所有命令均以 root 权限执行。使用 sudo 打印sh: sudo: not found错误。

不幸的是,我有一个测试存储库,其中有很多带有 的命令sudo,因为这些测试也在其他 Linux 发行版上执行。

我的问题是:我可以准备一些 bash 脚本或类似的脚本,它会sudo在任何命令中跳过吗?

我的意思是,当我执行 sudo 命令时 sudo cat <some_path>,我希望它执行为cat <some_path>,删除该sudo部分。它可以对每个命令都以这种方式工作,因此该脚本可以在启动时运行并适用于每个 sudo 命令。

答案1

一个简单的无操作直通脚本是:

#!/bin/sh
"$@"

它只是接受给定的参数,并使用它们运行命令,并使用第一个参数作为命令名称。因此,如果安装在运行sudo中的某处,应该执行与刚刚相同的操作。$PATHsudo ls -l "what ever"ls -l "what ever"

当然,它不会查看任何选项,例如sudo -s会尝试运行名为 的命令-s,可能会给出错误。

答案2

您可以尝试这样设置别名:alias sudo=""

相关内容