我可以在 bash 脚本中使用 while 和 source 吗?

我可以在 bash 脚本中使用 while 和 source 吗?

我有这个脚本,它被删减了,但对于这个例子来说很好:

#!/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

相关内容