2012-04-17 2 views
2

У меня есть следующие в конце моего сценария:Путь переменная не установлена ​​с новыми значениями

export PATH=/usr/openwin/bin:/opt/plat/AUTOSYS/4.0/autosys/bin:/usr/kerberos/bin::/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/opt/netezzaClient/bin:/xenv/ant/X/1.8.0/bin:/export/opt/jdk/1.6.0_16/bin:$PATH 
export JAVA_HOME=/export/opt/jdk/1.6.0_16 
echo "END PATH - $PATH" 

который печатает это.

END PATH - /usr/openwin/bin:/opt/plat/AUTOSYS/4.0/autosys/bin:/usr/kerberos/bin::/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/opt/netezzaClient/bin:/xenv/ant/X/1.8.0/bin:/export/opt/jdk/1.6.0_16/bin:/opt/edtsesn/share/bin:/xenv/cvs/sun4/5.6p4/1.10/bin:/xenv/rationalrose/sun4/5.x/6.0.9242/rose/bin:/opt/netscape/4.70_B2/bin:/opt/SCssh/3.4_C0/bin:/opt/PDolvwm/bin:/usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/ucb:/usr/bin:/usr/local/etc:/bin:/usr/local/bin:/etc:/software/scripts:/usr/5bin:/usr/demo:/usr/openwin/bin:/usr/tran/sparc/lib:/usr/ccs/bin:/opt/sybase/1192/bin:/tmp/wm40824:/opt/edtsdba/bin:/xenv/scripts/bin:/xenv/workshop/sun4/5.8mu4/6.1a/bin:/home/pj03962/1192/bin:/home/pj03962/1192/bin:/xenv/java/X/1.6.0_11/bin:/xenv/cvs/:/xenv/java/X/1.6.0_11/bin:/xenv/cvs/sun4/5.6p4/1.10/bin:/xenv/ant/sun4/5.x/1.6.2/bin:/opt/SCssh/3.7.1_C0/bin:/opt/xemacs/bin:/home/pj03962/125/OCS-12_5/bin:/home/pj03962/125/125/bin:/opt/perforce/bin:/opt/netezzaClient/bin:/opt/netezzaClient/bin 

еще

bash-3.00$ env $PATH 
env: /usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin: No such file or directory 

Нет такого файла не приходит, так как/дома/USR/папка не существует для моего аккаунта. Но это все еще не проливает свет на то, почему он не добавил другие значения в переменную пути.

+1

Что вы ожидали от 'env $ PATH'? –

+0

Покажите мне список значений, установленных в значение $ PATH, которые теперь должны включать те, которые указаны в заявлении на печать. – Will

ответ

3

Я предполагаю, что вы назвали свой скрипт без его источника. Например, если ваш скрипт имеет имя «myscript.sh», вы можете вызвать «./myscript.sh» или «bash myscript.sh». Ваши модификации env var внутри скрипта не будут вытеснять скрипт, вам необходимо его загрузить (сначала вызовите его с помощью «источника» или «.»). например:

. ./myscript.sh 

Изменения в myscript.sh изменит текущую среду.

Для «env $ PATH»: Я думаю, что это ошибка, так как вы пытаетесь запустить команду в переменной «PATH». Который не существует (/ usr/kerberos/bin:/bin: ... не является именем существующего файла в вашей системе!). Вы должны использовать вместо этого: echo $ PATH

+1

Исправить. – Will

Смежные вопросы