Linux判断远程服务器文件是否存在

Linux判断远程服务器文件是否存在

有时候,我们需要对远程服务器文件进行相关操作,在此之前我们需要校验远程服务器文件是否存在。

1
ssh root@nd1 test -e /opt

这里返回的是boolean类型,因此我们可以编写简单的bash脚本来打印输出。

1
2
3
4
5
6
#! /bin/bash
if ssh $1 test -e $2;then
echo '0'
else
echo '2'
fi

这里我们进行简单测试,我们将远程服务器账号和需要检验的文件路径作为参数传入,通过输出结果判断文件是否存在。

1
2
3
4
[root@nd2 bin]# sh checkRemoteFileExist.sh root@nd1 /opt
0
[root@nd2 bin]# sh checkRemoteFileExist.sh root@nd1 /opt/test
2

符合预期。

关于test参数的一些相关补充说明,我们可以根据实际情况选择合适的参数。

参数 说明
-e 如果文件存在则为真
-r 如果文件存在且可读则为真
-w 如果文件存在且可写则为真
-x 如果文件存在且可执行则为真
-s 如果文件存在且至少有一个字符则为真
-d 如果文件存在且为目录则为真
-f 如果文件存在且为普通文件则为真
-c 如果文件存在且为字符型特殊文件则为真
-b 如果文件存在且为块特殊文件则为真
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 henrrywan

请我喝杯咖啡吧~

支付宝
微信