переменные, заданные в файле, не отраженные в оболочке

В скрипте файла у меня есть следующие команды

export CIA_HOME=$PWD export PYTHONPATH=$PWD/cia_modules:/opt/autotest/data/scripts

Примечание: в первой строке

нет #!/bin/bash, когда я запускаю ./script, и do echo $CIA_HOME, он ничего не печатает.

Если я выполняю . ./script, он работает.

Мой вопрос в том, почему он не работал в первом случае даже хотя он не запускал подоболочку.

0
задан 26 June 2017 в 13:23

3 ответа

Когда вы запускаете свой скрипт, как ./script, он будет запущен в подоболочке, поэтому переменная доступна только для этой подоболочки и дочернего элемента этой оболочки.

$ nano a.sh # create a script ( for test put sleep 1000 in script )
$ chmod +x a.sh # make it executable 
$ ./a.sh & # run it
[1] 8929 # pay attention to its pid
$ echo $$ # check your current shell id
8742

теперь проверим ее, используя [ f4]:

$ pstree -sp `pgrep sleep`
bash(8742)───bash(8929)───sleep(8930)
3
ответ дан 22 May 2018 в 21:09

Когда вы запускаете свой скрипт, как ./script, он будет запущен в подоболочке, поэтому переменная доступна только для этой подоболочки и дочернего элемента этой оболочки.

$ nano a.sh # create a script ( for test put sleep 1000 in script ) $ chmod +x a.sh # make it executable $ ./a.sh & # run it [1] 8929 # pay attention to its pid $ echo $$ # check your current shell id 8742

теперь проверим ее, используя pstree:

$ pstree -sp `pgrep sleep` bash(8742)───bash(8929)───sleep(8930)
3
ответ дан 18 July 2018 в 11:06

Когда вы запускаете свой скрипт, как ./script, он будет запущен в подоболочке, поэтому переменная доступна только для этой подоболочки и дочернего элемента этой оболочки.

$ nano a.sh # create a script ( for test put sleep 1000 in script ) $ chmod +x a.sh # make it executable $ ./a.sh & # run it [1] 8929 # pay attention to its pid $ echo $$ # check your current shell id 8742

теперь проверим ее, используя pstree:

$ pstree -sp `pgrep sleep` bash(8742)───bash(8929)───sleep(8930)
3
ответ дан 24 July 2018 в 19:43

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

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