判断远程主机文件是不是存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断远程主机文件是不是存在相关的知识,希望对你有一定的参考价值。

参考技术A 首先配置ssh互信
然后shell参考:

文件表达式
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

字符串变量表达式
If [ b ] 如果string1等于string2,则为真
字符串允许使用赋值号做等号
if [ string2 ] 如果string1不等于string2,则为真
if [ -n string ] 如果string 为空,则为真
if [ $sting ] 如果string 非空,返回0 (和-n类似)

if [ ! 表达式 ]
if [ ! -d num

if [ 表达式1 –a 表达式2 ]

if [ 表达式1 –o 表达式2 ]

用shell判断远程主机上是否存在某个文件

在远程主机10.162.134.203上是存在/home/scopsadm/scripts/changePassword/changePassword.sh脚本文件的:

[[email protected] ~]$ if ssh -i ~/.ssh/scopsadm_rsa [email protected] test -e /home/scopsadm/scripts/changePassword/changePassword.sh; then echo Ok; else echo Bad; fi
Ok


在远程主机10.162.134.203上是不存在/home/scopsadm/scripts/changePassword/test.sh这个文件的:

[[email protected] ~]$ if ssh -i ~/.ssh/scopsadm_rsa [email protected] test -e /home/scopsadm/scripts/changePassword/test.sh; then echo Ok; else echo Bad; fi
Bad
[[email protected] changePasswd]$


本文出自 “不积跬步,无以至千里” 博客,请务必保留此出处http://jiaxiaolei.blog.51cto.com/3117381/1948253

以上是关于判断远程主机文件是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

使用 ssh 检查远程主机上是不是存在文件

要在一台主机上执行shell脚本判断另一台上的某个文件是不是存在,这个shell语句该怎么写?

Jmeter Chromedriver错误:未知错误:从远程主机执行时,DevToolsActivePort文件不存在

使用secureCRT远程Linux,出现远程主机拒绝连接。

如果在没有 ssh-ing 的情况下不存在远程主机上的目录,如何在它上创建目录?

给远程主机起别名