我试图找出以下命令的输出在哪里:
sudo -i -u someuser /home/someuser/test.sh
test.sh 脚本内容:
echo "test"
命令从另一个用户的主目录调用。
找出这一点的最简单方法是使用 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) 的输出重定向到某个未指定完整路径的文件,这就是您知道文件将在何处创建的方式。