我试图找出以下命令的输出在哪里:
sudo -i -u someuser /home/someuser/test.sh
test.sh脚本的内容:
echo "test"
从另一个用户的主目录调用命令。
答案 0 :(得分:1)
找出这个的最简单的方法是用sudo运行pwd(1),虽然我会破坏乐趣并揭示当使用'-i'切换执行sudo(1)时,工作目录将被设置为有效用户ID(=未指定时使用'-u'或root指定的任何内容)并且没有'-i'它将是当前目录。
示例:
user@host:~/work/linux-3.11.7$ sudo -i -u games pwd
[sudo] password for user:
/usr/games
user@host:~/work/linux-3.11.7$ sudo -u games pwd
/home/user/work/linux-3.11.7
因此,如果您将sudo(1)的输出重定向到某个没有指定完整路径的文件,那就是您知道文件创建位置的方式。