我有这个脚本,它被删减了,但对于这个例子来说很好:
#!/bin/bash
source /home/user/configs/config-file
while read host; do
find /home/user/configs/$host.cfg -type f -exec sed -i 's/value=./#value= /g' {} \;
echo "value="$value >> /home/user/configs/$host.cfg
done < hosts.list
hosts.list 文件包含主机名列表
XYZ123
ABC567
LIN999
等等。配置文件包含以下内容:
value=ZZZZZZZ
othervalue=YYYYYYY
3rdvalue=XXXXXXX
完整脚本使用了所有值,此示例仅使用值希望有意义。
运行此脚本会创建一个文件,其中包含 hosts.list 文件中的每个主机名,但末尾带有 ?,因此看起来像 XYZ123?.cfg 在运行过程中我看到:
find: â/home/user/configs/XYZ123\r.cfgâ: No such file or directory