Что означает & ldquo; export & rdquo; делать?

Я никогда не понимаю, что делает «экспорт». Например, в чем разница между этими двумя?

  1. PYTHONPATH=/home/myaccount/ & export PYTHONPATH и
  2. PYTHONPATH=/home/myaccount/

Один с экспортом, а другой без. 116]

4
задан 30 January 2014 в 13:06

2 ответа

Если вы не экспортируете, то переменная окружения будет видна только локально. Экспорт делает их доступными для других программ и оболочек, которые вы можете запустить (из этой оболочки).

0
ответ дан 30 January 2014 в 13:06

«Экспорт» переменной в оболочке делает ее доступной для всех подоболочек и процессов, созданных этой оболочкой.

Он не делает его доступным везде в системе, только процессами, созданными из этой оболочки.

Вот пример, который вы можете попробовать доказать.

(«set» перечислит все переменные, установленные в терминале)

   $ ZZZ=test
   $ bash # this runs bash in bash, you can also type 'xterm' to see it work there too.
   $ set |grep ZZZ # You will not see ZZZ=test
   $ exit # Lets get out of the subshell and try export!
   $ export ZZZ
   $ bash
   $ set |grep ZZZ # and there we go! our variable is set in the subshell/process.

Вы можете открыть другой терминал и увидеть, что это , а не установить там, однако.

http://ss64.com/bash/export.html

0
ответ дан 30 January 2014 в 13:06

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

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