Почему изменение скрипта в скрипте не меняется за пределами скрипта?

Предположим, что я export переменная с терминалом. После этого я вызываю скрипт, который изменяет эту переменную на что-то другое. Но когда я возвращаюсь к терминалу и echo переменной, он остается в качестве исходного значения.

Что мне делать, если я хочу, чтобы переменная была изменена и видима вне сценария, а не только там в скрипте. Вот пример того, что я хочу сказать:

ares@ares-HP-ProBook-4530s:~$ export package=tree
ares@ares-HP-ProBook-4530s:~$ cat script3.sh 

#! /bin/bash
#set -x
echo $package
apt-cache show $1 | head -1
if [ $? -eq 0 ]; then
    package=1
else
    package=0
fi
echo $package

Вывод при запуске скрипта

ares@ares-HP-ProBook-4530s:~$ ./script3.sh gnome-terminal
tree
Package: gnome-terminal
1
ares@ares-HP-ProBook-4530s:~$ echo $package
tree
ares@ares-HP-ProBook-4530s:~$ 
6
задан 18 January 2012 в 07:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: