我想编写一个脚本来分隔字段。输出应如下所示:
192.168.94.139
middle of loop
192.168.94.140
middle of loop
$SERVER_SELECTION 变量下有两个变量(服务器)。
我的代码,
for INPUT in $SERVER_SELECTION
do
echo $INPUT | tr , '\n'
echo "middle of loop "
done
echo "end of loop "
我如何修改它以获取上述输出。
答案1
放在IFS=','
前面for
并删除tr
命令,这应该分割SERVER_SELECTION
并且INPUT
将一次包含一个 IP。
IFS=','
for INPUT in $SERVER_SELECTION
do
echo $INPUT
<path to script> $INPUT # call other script and use INPUT as parameter
echo "middle of loop "
done
echo "end of loop"
IFS 代表“内部字段分隔符”。它由 shell 用来决定如何进行分词,也就是如何识别单词边界。
答案2
我不知道你到底想做什么,只是这样做:
echo "$INPUT"
echo "middle of loop "
应该会产生该结果。也许read
来自文件也是你想要的!那么你应该这样做
while read -r INPUT
do
echo "$INPUT"
echo "middle of loop "
done < "$SERVER_SELECTION"
echo "end of loop "