работа с массивами BASH
Форум — General
Доброго времени суток!
Есть таск: скрипт проверяет в файле строку, если она удовлетворяет всем требованиям, то выполняет команды, беря переменные из первой строки файла. Мне надо, чтобы скрипт проверял каждую строку в файле и если строка соответствует, то выполнял с ней действия. Пример :
script.sh
! /bin/bash
set -- $(</home/main/in/*)
if [ `ls /home/main/in/* | wc -l` -eq 0 ]
then
echo "Empty"
else
while IFS= read -r line || [[ -n $line ]]
do
ssi_vpn=($1 $2 $3 $7)
USER=${ssi_vpn[0]%@[^@]*}
if [ "${ssi_vpn[2]}" = "VPN/Cloud" ]
then
if [ "${ssi_vpn[4]}" = "null_cl" ]
then
exit
else
if [ "${ssi_vpn[3]}" = "Denmark" ]
then
#mv /home/main/in/* /home/main/out/
echo "UserBD $USER
PasswdBD ${ssi_vpn[1]}
BD ${USER}db
IP 0.0.0.0:00
You most go to link http://0.0.0.0/
${ssi_vpn[3]}" >> /home/main/out/~$USER
echo "You most go to link https://0.0.0.0/"
echo "Authorized data see in file /home/main/out/~$USER"
fi
fi
else
echo "NOT main"
fi
done < /home/main/in/*
fi
ssi_vpn.txt
user@gmail.com 4ee8e6747053339e5b58bbaa696eb77c VPN/Cloud 7 1 BY Denmark 15 null_cl
user1@gmail.com 7abeb0a32d065a6ae0d8577165f99e65 VPN/Cloud 7 1 BY Germany 17 null_cl
user2@gmail.com c89571f808d63f92501d9a21226720d0 VPN 7 1 BY Germany 7 null_cl
user3@gmail.com 4ee8e6747053339e5b58bbaa696eb77c VPN/Cloud 7 1 BY Germany 15 null_cl
user4@gmail.com ab42abe3503d4f6cea53517fa6b9f802 VPN 7 1 BY Germany 41 null_cl