Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 命令输出位置_Linux_Bash_Shell_Login_Command - Fatal编程技术网

Linux 命令输出位置

Linux 命令输出位置,linux,bash,shell,login,command,Linux,Bash,Shell,Login,Command,我试图找出以下命令的输出指向何处: 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$ sud

我试图找出以下命令的输出指向何处:

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)的输出重定向到未指定完整路径的某个文件,那么您就可以知道将在何处创建该文件。

-选中-i选项。您是否尝试以someuser身份运行该命令?环境是以一种奇怪的方式设置的吗?
echo
只是打印到标准输出,这里没有任何东西表明它正在被重定向。除非您忽略了关键信息,否则输出将被发送到调用用户的终端。当以someuser身份运行时,该命令的行为与预期相同。我已经在我的本地PC上检查了该命令,它是正常的。但是,在远程服务器上则不同。我注意到命令sudo-I-u someuser/home/someuser/test.sh不打印任何内容。但是命令sudo-i-u someuser./test.sh会打印预期的文本“test”。我想这是权限问题。是否可以检查所有父目录的权限?