命令输出位置

时间:2013-11-14 11:46:15

标签: linux bash shell login command

我试图找出以下命令的输出在哪里:

sudo -i -u someuser /home/someuser/test.sh

test.sh脚本的内容:

echo "test"

从另一个用户的主目录调用命令。

1 个答案:

答案 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)的输出重定向到某个没有指定完整路径的文件,那就是您知道文件创建位置的方式。