在Linux中远程读取Symlink

时间:2016-08-17 03:30:46

标签: linux ssh

我试图远程获取符号链接的内容,但我很难理解为什么不工作。

我尝试关注此帖子中的example。但不适合我。这就是我想要做的。

$PATH_LINK=~/some/directory/to/link
SYMB_LINK=`ssh files@files_server.com 'readlink $PATH_LINK'`

但我得到$ readlink:缺少操作数

如果我在命令中编写路径,我可以让它工作。

SYMB_LINK=`ssh files@files.files_server.com 'readlink path/to/file'`

我尝试在没有-f的情况下运行它但仍然给我同样的问题。

2 个答案:

答案 0 :(得分:1)

首先,不要使用~,因为shell可能会使用本地计算机上用户的用户设置而不是远程计算机来扩展。

其次,在分配shell变量时,不应使用左侧的$字符。

将所有这些建议结合起来,我们得到:

LINK_PATH=/home/david/link
LINK_TARGET=$(ssh example.com "readlink $LINK_PATH")

答案 1 :(得分:0)

@shelter带来了我的问题的解决方案。我使用的是错误的引号。

这是正确的格式:

SYMB_LINK=`ssh files@files.files_server.com "readlink path/to/file"`