LINUX.ORG.RU

echo $PS1


0

0

Добрый день, объясните пож.: если в консоли набрать echo $PS1 - данные выводятся, но если такая строчка встречается в теле скрипта - ничего не выводится, правильно ли это, и возможно ли как нибудь в скрипте прочитать значение этой переменной. (bash Mandriva 2007.1)

anonymous

это означает что твоя PS1 стоит в profile, и что она не экспортируется.

Если это так, то прочесть в теле скрипта можно только засорсив profile.

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

я не знаю, что ты пытаешься сделать, но если вдруг ты скриптом хочешь поменять PS1, то ты должен запускать скритп точкой (source).

Иначе не получится

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

. . . srring=`cat << "EOF" evn -i HOME=$HOME ...... /bin/bash - e .../script.sh EOF `

printf "string" > ~/.bash_profile

. . .

source ~/.bash_profile

после выполнения команды source - script.sh будет исполнятся с установленными переменными ?

anonymous
()
Ответ на: комментарий от dilmah

Должно быть так (несделал предпросмотор)

.

.

.

string=`cat << "EOF"

evn -i HOME=$HOME ...... /bin/bash - e .../script.sh

EOF

`

printf "string" > ~/.bash_profile

.

.

.

source ~/.bash_profile

после выполнения команды source - script.sh будет исполнятся с установленными переменными ?

anonymous
()
Ответ на: комментарий от dilmah

Хочется написать скрипт так, что бы после выполения команды source не было остановки выполнения и продалжался орабатыватся указанный скрипт. Вся запарка возникла из за невозможности проверить выполняется ли скрипт с установленным окружением (как раз и попробовал echo $PS1, а в ответ пустая строка. Может как подругому сделать ?

anonymous
()
Ответ на: удаленный комментарий

Не могли бы Вы ответить однозначно - конструкция source ~/.bash_profile будет запускать test_script.sh с установленными переменными окружения HOME, TERM, PS1, LC_ALL, PATH и т.д. ? Содержимое .bash_profile: exec ..... /bin/bash -e .../test_script.sh

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.