我试图远程获取符号链接的内容,但我很难理解为什么不工作。
我尝试关注此帖子中的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的情况下运行它但仍然给我同样的问题。
答案 0 :(得分:1)
首先,不要使用~
,因为shell可能会使用本地计算机上用户的用户设置而不是远程计算机来扩展。
其次,在分配shell变量时,不应使用左侧的$
字符。
将所有这些建议结合起来,我们得到:
LINK_PATH=/home/david/link
LINK_TARGET=$(ssh example.com "readlink $LINK_PATH")
答案 1 :(得分:0)
这是正确的格式:
SYMB_LINK=`ssh files@files.files_server.com "readlink path/to/file"`