我正在从配置文件中读取文件名列表。使用for循环我选择列表中的每个文件,然后想要在远程服务器上搜索文件。
for file in config
do
**search for file at {remoteserver}**
returnStatus=$?
if [ returnStatus = 0 ]; then
email that file was found.
fi
done
在远程服务器上搜索文件是困扰我的部分。任何帮助表示赞赏,
答案 0 :(得分:2)
您可以执行以下操作:
for file in "${config[@]}"
do
ssh user@remotehost test -e "$file"
returnStatus=$?
if [ $returnStatus -eq 0 ]; then
email that file was found.
fi
done
答案 1 :(得分:1)
假设
这可能是解决方案:
for file in "${config[@]}"
do
exists=$(ssh user@host "if [ -e \"$file\" ]; then echo '1'; else echo '0'; fi")
if [ $exists = "1" ]
then
echo "$file exists"
#send email
fi
done
如果所有文件都在同一个远程服务器上,那么在ssh
连接中进行循环会更有意义,而不是每次都重新连接。