shell 一个脚本,用于将文件上载到远程主机,其中包含带有远程主机IP的dat文件

lmvvr0a8  于 2023-01-21  发布在  Shell
关注(0)|答案(1)|浏览(99)

我有一个脚本上传文件到几个远程主机。但是,当我执行脚本,只有redas的第一行的dat文件。
指示使用dat文件数据的脚本部分

# gradually uploading files (shared-files) to remote hosts loaded from the list (in the .dat file):
cat "${0%.*}.dat" | while read line; do [ -z "$line" ] || uploadFilesToDevice "$line"; done

数据文件

root:password@10.29.0.10
root:password@10.29.0.11
root:password@10.29.0.13
root:password@10.29.0.14
root:password@10.29.0.15
root:password@10.29.0.16
root:password@10.29.0.17
root:password@10.29.0.18
root:password@10.29.0.19
root:password@10.29.0.21
root:password@10.29.0.22
root:password@10.29.0.24
root:password@10.29.0.25
root:password@10.29.0.26

执行脚本后,仅将文件上载到dat文件上的第一个IP-10.29.0.10

jjhzyzn0

jjhzyzn01#

替换此

cat "${0%.*}.dat" | while read line; do [ -z "$line" ] || uploadFilesToDevice "$line"; done

为此

DATA=`cat "${0%.*}.dat"`; for line in $DATA; do [ -z "$line" ] || uploadFilesToDevice "$line"; done

而且工作了!

相关问题