Я хочу написать сценарий для разделения полей. Результат должен быть таким:
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 "
Как я могу изменить это, чтобы получить результат, указанный выше.
поместить 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 поддерживает "внутреннего разделителя полей". Это используется оболочкой, чтобы определить, как сделать разделение слова, т.е. как распознать границы слова.
Я не знаю что точно Ваша попытка сделать только просто выполнение этого:
echo "$INPUT"
echo "middle of loop "
должен привести к тому результату. Снова, возможно, a read
из файла то, что Вы хотите! Затем необходимо сделать
while read -r INPUT
do
echo "$INPUT"
echo "middle of loop "
done < "$SERVER_SELECTION"
echo "end of loop "