如何通过SSH在特定的dir中找到存在的文件

Tre*_*ree 6 ssh bash

如何通过SSH在特定的dir中找到存在的文件

例如:host1和dir/home/tree/TEST

Host2: - ssh host1 - 使用bash查找是否存在TEST文件

Eri*_*rik 9

ssh将返回您要求它执行的命令的退出代码:

if ssh host1 stat /home/tree/TEST \> /dev/null 2\>\&1
then 
  echo File exists
else 
  echo Not found
fi
Run Code Online (Sandbox Code Playgroud)

您当然需要进行密钥验证设置,因此您可以避免使用密码提示.

  • 我喜欢使用`test -e`或`test -f`,因此它变为:`ssh host1 test -e/home/tree/TEST && echo file exists || echo not found`. (6认同)

mik*_*wn2 7

这是我在阅读并尝试这里的东西后最终做的事情:

FileExists=`ssh host "test -e /home/tree/TEST && echo 1 || echo 0"`

if [ ${FileExists} = 0 ]
  #do something because the file doesn't exist
fi
Run Code Online (Sandbox Code Playgroud)

有关test的更多信息:http://linux.die.net/man/1/test