Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Bash 文件路径前反斜杠的用途_Bash_Ssh - Fatal编程技术网

Bash 文件路径前反斜杠的用途

Bash 文件路径前反斜杠的用途,bash,ssh,Bash,Ssh,我们服务器中的用户帐户设置有以下限制(出于安全原因):首先,我必须使用我的用户id(如“raja”)通过ssh连接到服务器,然后我必须作为另一个用户登录,如“dev”。“dev”用户对于我们所有的团队成员来说都是通用的,所有的服务器操作都是以此用户身份执行的 我正试图使用此命令跟踪本地计算机上的日志文件 ssh -t uat4 'sudo -S -p "sudo password: " -u "dev" /bin/bash -l -c "tail

我们服务器中的用户帐户设置有以下限制(出于安全原因):首先,我必须使用我的用户id(如“raja”)通过ssh连接到服务器,然后我必须作为另一个用户登录,如“dev”。“dev”用户对于我们所有的团队成员来说都是通用的,所有的服务器操作都是以此用户身份执行的

我正试图使用此命令跟踪本地计算机上的日志文件

ssh -t uat4 'sudo -S -p "sudo password: " -u "dev" /bin/bash -l -c "tail -f \$HOME/application/log/uat.log"'
这很有效。我从PythonFabric的
sudo('tail-f$HOME/application/log/uat.log',user=dev)
,使用
--show=debug
标志获得此命令

但是当我尝试在不使用反斜杠的情况下(在$HOME前面)执行此操作时,就像

ssh -t uat4 'sudo -S -p "sudo password: " -u "dev" /bin/bash -l -c "tail -f $HOME/application/log/uat.log"'
我收到了这个错误消息

尾巴:不能打开 `/home/raja/application/log/uat.log'用于阅读: 拒绝许可

与ma-retailmet-lapp04.corp.apple.com的连接已关闭


此反斜杠在该命令中的作用是什么。

这是与否的区别-请在console中尝试
echo“$HOME”
echo“\$HOME”
查看它的作用

谢谢你的回答
“$HOME”
为我提供路径,
\“$HOME”
为我提供文本$HOME,但在我的情况下,
$HOME
变量正确计算为远程用户的主路径。我对问题进行了更详细的编辑。你能详细说明一下吗?如果在
sudo
之前对
$HOME
进行了评估,那么它不会扩展到用户
dev
$HOME
,而是运行
sudo
的用户的
@tripleee谢谢。我没有注意到这一点。你能不能把这个贴出来作为答案,这样我就可以接受了?