文件路径前反斜杠的用途

时间:2016-04-14 16:35:33

标签: bash ssh

我们服务器中的用户帐户设置具有以下限制(出于安全原因):首先,我必须使用我的用户ID ssh进入服务器,例如' raja'然后我必须以另一个用户身份登录,说' dev'。 ' dev' user对我们所有的团队成员都很常见,所有服务器操作都是以这个用户身份执行的。

我正在尝试使用此命令从本地计算机中拖尾日志文件

ssh -t uat4 'sudo -S -p "sudo password: " -u "dev" /bin/bash -l -c "tail -f \$HOME/application/log/uat.log"'

这很有效。我使用sudo('tail -f $HOME/application/log/uat.log', user=dev)标志从python fabric --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的连接已关闭。

该命令中反斜杠的用途是什么。

1 个答案:

答案 0 :(得分:1)

这是escaping the character与否之间的差异 - 在控制台中尝试echo "$HOME"echo "\$HOME",看看它的作用。