UNIX导出命令
回答
当您执行程序时,子程序会从父级继承其环境变量。例如,如果$HOME
在父级中设置为/root
,那么孩子的$HOME
变量也设置为/root
。
这只适用于标记为导出的环境变量。如果在命令行上设置变量,如
$ FOO="bar"
该变量在子进程中不可见。除非你将其导出:
$ export FOO
你可以(在老学校SH但没有)这两个语句合并成一个单一的一个在bash:
$ export FOO="bar"
这里展示的区别一个简单的例子导出和非导出变量。为了解发生了什么,知道sh -c
创建了继承父shell的环境的子shell进程。
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
注:要得到shell内置命令使用help export
帮助。 Shell内置命令是属于您的shell的命令,而不是像/bin/ls
这样的独立可执行文件。
的Unix
的命令的env,设置和printenv显示所有的环境变量和它们的值。 env和set也用于设置环境变量,并且通常直接并入到shell中。通过将该变量名称作为命令的唯一参数,printenv也可用于打印单个变量。
在Unix中,还可以使用以下命令,但通常依赖于某个shell。
export VARIABLE=value # for Bourne, bash, and related shells
setenv VARIABLE value # for csh and related shells
你可以看看this在
欢迎来到StackOverflow。请注意,经典的Bourne shell将需要:'VARIABLE = value;导出VARIABLE',而不是立即分配和导出。C Shell中的'set'命令用于shell变量而不是环境变量; 'setenv'是'export'的对应物。 Bourne派生shell中的'set'命令打印所有变量,而不仅仅是导出(环境)变量。至少在历史上,'env'命令是独立于shell(不是内置的),尽管它可以很容易地被制作成内置的。它为特定命令设置环境,而不是运行它的shell。 –
export
用于设置环境变量。例如:
export EDITOR=pico
将设置您的默认文本编辑器为pico
命令。
export
是bash
shell和其他Bourne shell variants的内置命令。它用于标记一个用于导出到子进程的shell变量。
- 1. PHP,UNIX命令,imagick,溢出
- 2. df -h unix命令输出
- 3. Unix命令
- 4. Unix grep命令
- 5. Unix命令
- 6. Unix dot命令
- 7. Unix命令
- 8. unix find命令
- 9. tee命令UNIX
- 10. SSH UNIX命令
- 11. Unix strace命令
- 12. unix bash命令
- 13. unzip unix命令
- 14. 狗命令UNIX
- 15. UNIX grep命令
- 16. 命令在unix中抛出错误
- 17. Unix grep命令输出垃圾
- 18. 使用Perl读取unix命令输出
- 19. UNIX命令列出的WebLogic服务器
- 20. 推出了CAT命令UNIX到Dockerfile
- 21. UNIX命令支持彩色输出?
- 22. Unix命令错误
- 23. 查找命令unix
- 24. Unix Shell - Zip命令
- 25. unix的mail命令
- 26. 管道unix命令
- 27. SED命令在UNIX
- 28. Unix搜索命令
- 29. AIX(vs)Unix命令
- 30. UNIX diff命令usuage
它非常奇怪,它没有一个手册页。我也没有看到。 – Pinocchio