Unix 测试远程文件是否存在目录

Unix 测试远程文件是否存在目录,unix,Unix,我需要一个简单的解决方案来检查远程文件是目录还是文件? 谢谢您需要在第一个remsh周围添加回标记: 这在bash Fedora上对我很有效: isdir=`remsh $HOSTNAME "if [ -d $i ]; then echo dir; else echo file; fi"` 或 退出状态0或1将反映远程主机上目录/文件的存在/不存在状态 我使用密钥交换来避免每次都需要提供凭据,因此可以很容易地编写脚本。在执行多个subversion存储库同步之前,我会在循环中使用它,以了解是否

我需要一个简单的解决方案来检查远程文件是目录还是文件?
谢谢

您需要在第一个remsh周围添加回标记:


这在bash Fedora上对我很有效:

isdir=`remsh $HOSTNAME "if [ -d $i ]; then echo dir; else echo file; fi"`

退出状态0或1将反映远程主机上目录/文件的存在/不存在状态


我使用密钥交换来避免每次都需要提供凭据,因此可以很容易地编写脚本。在执行多个subversion存储库同步之前,我会在循环中使用它,以了解是否需要初始化新存储库。

远程文件是什么意思?您知道,列出一个带有ls-d的文件是安全的。因此,假设您不想关闭第二个ls | cpio命令中的$i,那么您就不需要费心测试目录,每次只需ls-d$i即可。
isdir=`remsh $HOSTNAME "if [ -d $i ]; then echo dir; else echo file; fi"`
ssh $REMOTEHOST [ -d /path/to/some/directory ]
ssh $REMOTEHOST [ -f /path/to/some/file ]