我目前正在开发一个 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
中的某处,应该执行与刚刚相同的操作。$PATH
sudo ls -l "what ever"
ls -l "what ever"
当然,它不会查看任何选项,例如sudo -s
会尝试运行名为 的命令-s
,可能会给出错误。
答案2
您可以尝试这样设置别名:alias sudo=""