1

我正在尝试编写一个 bash 脚本,其中第一步是检查远程主机中是否存在文件以及它是否可执行。这听起来像是test命令的工作,但我必须在它前面加上ssh. 像这样的东西:

$(ssh user@box 'test -x /path/thefile >/dev/null 2>&1; $?')

除了以上似乎没有工作返回给我远程文件是否存在并且是可执行的......我该怎么做?

4

1 回答 1

2

当您使用$()语法时,您将获得命令的输出,而不是结果代码。你可以这样做:

if ssh user@box 'test -x /path/thefile'; then
  echo "It exists"
fi
于 2013-06-06T04:01:28.650 回答