Я сделал маленький тест для повторения всего в моем .txt, названном порталом. При записи в терминале я хочу, чтобы сценарий повторил все с введенным именем, но я только показываю первую переменную.
input=$1
for portal in $(grep $input /etc/portals | sed '/^#/ d' | awk '{print $1, $2}');
do
echo -e "\e[1;32m "$portal" \e[0m";
exit 0
done
else
echo -e "\e[1;31m --> Wrong Input <-- \e[0m"
exit 1
done
fi
=============
Работы кода, но только 1$ печатается а не 2$. ЕСЛИ я изменяю код на: awk '{печатают $1$ 2}' затем, вывод составляет $1$ 2 без вкладки или располагающий с интервалами между переменными. =================================
Как может я разделять переменные, таким образом, эхо показывают:
test1 [вкладка/пространство] test2
#!/bin/bash
# exit if input is empty.
[[ -z $1 ]] && exit 1
# Check in the file /etc/portals for
# the existens of the word "$1" and place
# first word in "$a" and rest in "$b".
while read -r a b; do
printf %s\\t%s\\n $a "$b"
done < <(grep -P "^(?!#).*$1" /etc/portals)