这是一个示例 bash 脚本,我想使用它来运行sudo -i
:
#!/bin/bash
echo "arg 1: $1"
echo "arg 2: $2"
当我使用一个空参数正常运行此命令时,它会按预期运行:
$ /tmp/args.sh "" two
arg 1:
arg 2: two
使用简单的 sudo,我得到了预期的结果:
$ sudo /tmp/args.sh "" two
arg 1:
arg 2: two
但是如果我使用-i
(获取用户的 shell 和登录脚本),突然第一个参数消失了:
$ sudo -i /tmp/args.sh "" two
arg 1: two
arg 2:
我无法找出任何方法来引用或转义第一个空论点。
Note: 我已经通过写作找到了解决方法/tmp/args.sh "" two
到一个文件,然后执行sudo -i
,但我想知道是否有任何方法可以直接从命令行实现此目的。
这对我有用:
sudo -i bash -c '/tmp/args.sh "" two'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)