Может кто-нибудь помочь мне понять код ниже
Я сбрасываю IFS на новую строку во 2-й строке самого скрипта. Это значение считывается командой. Внутри внутреннего для команды я сбрасываю значение IFS в:
1) Как значение IFS снова сбрасывается в новую строку после первой итерации внешнего l oop как внешнего для l oop, начиная с 3-я строка, и я назначаю символ новой строки для IFS во 2-й строке.
2) Когда я выполняю echo $ IFS во внешнем l oop и внутреннем l oop, он становится пустым. Любая идея, почему.
Может кто-нибудь объяснить, как это работает
test.txt:
cat test.txt
oracle:dba
network:admin
system:engineer
test. sh:
cat test.sh
#!/bin/bash
# changing the IFS value
IFSOLD=$IFS
IFS=$'\n'
for entry in $(cat test.txt)
do
echo "Values in $entry "
IFS=:
for value in $entry
do
echo " $value"
done
done
sh test.sh
Values in oracle:dba
oracle
dba
Values in network:admin
network
admin
Values in system:engineer
system
engineer