命令在 bash 提示符下有效;在 shell 脚本中无效

命令在 bash 提示符下有效;在 shell 脚本中无效

我正在尝试使用 IPMITOOL 查询一堆 OOB NIC 以获取它们的 MAC 地址。

当我跑步时:

 ipmitool -I lanplus -H 1.2.3.4 -U USER -P PASS lan print

我得到:

MAC Address             : aa:bb:cc:dd:ee:ff

如果我尝试通过遍历 CSV 文件的 shell 脚本来调用它:

#!/bin/bash
INPUT=/home/user/list_of_systems.csv
OLDIFS=$IFS
IFS=','
while read hostname ipaddr
do
        printf "$hostname\t" >> output.txt
        ipmitool -I lanplus -H $ipaddr -U USER -P PASS lan print
done < $INPUT
IFS=$OLDIFS

我得到:

 failed lookup for 1.2.3.4
Could not open socket!
Error: Unable to establish IPMI v2 / RMCP+ session

我在这里遗漏了什么? 我一直为此而烦恼。

答案1

https://serverfault.com/users/30957/glenn-jackman我的 CSV 文件中的行尾不正确。修复这些问题后,它开始正常工作。

相关内容