Функция getStrings()
, которая вызывает функцию getPage()
, которая возвращает некоторую страницу html. Этот html передается через egrep
и sed
, чтобы получить только 3 строки. Затем я пытаюсь поместить каждую строку в отдельную переменную link
, profile
, gallery
, используя while read..
. Но он работает только внутри цикла while...done
, потому что он работает в подпроцессе. Что делать, чтобы использовать эти переменные вне функции getStrings()
?Использовать переменные за пределами подпроцесса в bash
getStrings() {
local i=2
local C=0
getPage $(getPageLink 1 $i) |
egrep *some expression that results in 3 strings* |
while read line; do
if (((C % 3) == 0)); then
link=$line
elif (((C % 3) == 1)); then
profile=$line
else
gallery=$line
fi
C=$((C+1)) #Counter
done
}
Исследовать 'shopt -s lastpipe'. –