Итак, я хочу создать скрипт, где я проверяю что-то с веб-сайта.У меня есть текстовый файл с разными сайтами, и я хочу проверить все сайты одновременно.Для этого я создаю команду шаг за шагом в переменной, вызывающей функцию, которая будет проверять каждый веб-сайт.Это мой код:
checkWebsite(){
WEBSITE="$2"
echo "Parameter is $WEBSITE"
}
COUNTER=0;
input=websites.txt
myCommand=()
while IFS= read -r line
do
if [[ "$line" != "#"* ]]; #ignoring comments if there are any
then
myCommand[COUNTER]="checkWebsite $line"
COUNTER=$((COUNTER + 1))
myCommand[COUNTER]=" & "
COUNTER=$((COUNTER + 1))
fi
done < "$input"
unset 'myCommand[${#myCommand[@]}-1]' #deleting the last " & "
echo "MY COMMAND: "
echo ${myCommand[@]}
echo " "
echo ${myCommand[0]}
checkWebsite ${myCommand[0]}
"${myCommand[0]}"
Это результаты: результаты
Как видите, если я вызываю функцию из скрипта, все в порядке, но еслиЯ вызываю функцию из переменной, она не работает.Я понимаю, почему это происходит (как будто я запускаю эту команду из терминала), но я не знаю, как заставить ее запускать функцию из сценария, когда я выполняю команду из переменной.Кто-нибудь знает, как я могу это сделать?
Заранее спасибо