Код: Выделить всё
#!/bin/sh
#Вот эта переменная пусть будет одна и та же для всего скрипта
my_max=2
#Вот я её даже экспортирую
export my_max
echo $my_max
find | while read LINE
do
#Изменяю её значение
my_max=3
echo $my_max
exit
done
#А на самом деле оно неизменно, как было 2, так и осталось!
echo $my_max
exit
Shell
user@astra:~$ ./foo.sh
2
3
2
user@astra:~$
Ага, а разве export my_max не решает? Везде пишут:
Так себе экспорт, сказать прямо. Не воодушевляет даже:export - это одна из встроенных команд оболочки пользователя bash, и предназначена для экспорта переменных и функций текущего процесса в дочерний процесс.
Код: Выделить всё
#!/bin/sh
#Вот эта переменная пусть будет одна и та же для всего скрипта
my_max=2
#Вот я её даже экспортирую
export my_max
echo $my_max
find | while read LINE
do
#Изменяю её значение
echo $my_max
my_max=3
echo $my_max
exit
done
#А на самом деле оно неизменно, как было 2, так и осталось!
echo $my_max
exit
Shell
user@astra:~$ ./foo.sh
2
2
3
2
user@astra:~$