练习 5:Bash:环境变量,env
,set
,export
请考虑以下内容:你希望程序打印出你的用户名。这个程序怎么知道的?在 Linux 中有一些环境变量。这意味着你的 shell 中有许多变量,其中许多变量自动设置,每次运行程序时,其中一些变量将传递给该程序。
详细说明:
你可能想要深入挖掘。要做到这一点,掌握 的概念,这是一个子进程,当你运行程序时创建,并且成为你的程序。
现在,你将学习如何创建变量以及如何使用变量。
- 创建变量
foo
,并将Hello World!
这一行放在其中。 - 打印出变量。
- 打印所有环境变量的列表,它传递给
grep
,打印出只包含变量foo
的行。注意变量foo
存在。 - 打印所有环境变量列表,它们传递给你执行的任何程序。注意变量
foo
不存在。 - 使变量
foo
可用于从当前 shell 执行的所有程序。 - 将
ls /
放入变量foo
。 - 执行包含在变量
foo
中的命令。
输入并执行
env
和set
。看看有多少个不同的变量?不用担心,通常你可以通过谷歌搜索,快速了解一个变量的作用。尝试这样做。尝试输入:
仅仅打印出以字母开头的行,它是每个字母,并忽略其他行。现在不要纠结这个,也不要纠结
|
符号。以后我会解释它。在这里阅读
env
和set
之间的区别:http://stackoverflow.com/questions/3341372/differnce-between-the-shell-and-environment-variable-in-bash。记住,stackoverflow 是你的朋友!我会重复多次。试试这个:
注意我使用
$(pwd)
,将命令输出作为变量访问。现在,键入man bash /PS1
(是的,只是斜杠),按下<ENTER>
。你现在可以按下n
查看下一个结果。浏览 PROMPTING,并键入q
来退出man
。现在,访问 并搜索。了解这两个文档来源的区别。