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

В чем разница между set, env, declare и export при установке переменной в оболочке Linux?

в чем разница между set,env,declare и export при установке переменной в оболочке Linux, например bash?

5
задан DavidPostill
источник

1 ответов

Кажется, что set и declare немного отличаются, причем set является более мощным.

"объявления" в разделе https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins declare: "объявляйте переменные и присваивайте им атрибуты. Если имена не указаны, вместо них отображаются значения переменных.

набор "набор" под https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin * set :" эта сборка настолько сложна, что заслуживает свой раздел. set позволяет изменять значения параметров оболочки и задавать позиционные параметры, а также отображать имена и значения переменных оболочки."

ENV-переменная окружения в Bash: https://www.gnu.org/software/bash/manual/bash.html#Bash-Variables env-это команда Linux. Я думаю, что это хорошая ссылка: https://unix.stackexchange.com/questions/103467/what-is-env-command-doing

Я думал, что это было хорошее объяснение экспорта: http://www.unix.com/302531838-post2.html

также: https://www.gnu.org/software/bash/manual/bash.html#Bourne-Shell-Builtins * экспорт (из Bourne): "отметьте каждое имя, которое будет передано дочерним процессам в среде."

заимствование кода из URL выше:

root@linux ~# x=5                <= here variable is set without export command
root@linux ~# echo $x
5
root@linux ~# bash               <= subshell creation
root@linux ~# echo $x            <= subshell doesnt know $x variable value
root@linux ~# exit               <= exit from subshell
exit
root@linux ~# echo $x            <= parent shell still knows $x variable
5
root@linux ~# export x=5         <= specify $x variable value using export command
root@linux ~# echo $x            <= parent shell doesn't see any difference from the first declaration
5
root@linux ~# bash               <= create subshell again
root@linux ~# echo $x            <= now the subshell knows $x variable value
5
root@linux ~#
5
отвечен Shawn P. 2018-09-04 15:20:56
источник

Другие вопросы bash linux shell shell-script