6
A
回答
11
正如Noufal所述,.
是source
的别名。
通过采集文件,所有命令都在当前bash会话的上下文中执行,这意味着它将导出的所有环境变量现在都可供您使用。
如果您运行脚本而不是源代码,它会在子shell中执行,导出的变量不会传递到您的会话。实际上,这几乎违背了.profile
的目的。
作为示范,说你有文件test.sh
:
#!/bin/bash
# in test.sh
print "exporting HELLO"
export HELLO="my name is Paul"
如果你执行它:因为$HELLO
[[email protected]]$ bash test.sh
exporting HELLO
[[email protected]]$ echo $HELLO
没有被打印出来,是不是在当前会话定义。但是,如果它来源:
[[email protected]]$ . test.sh
exporting HELLO
[[email protected]]$ echo $HELLO
my name is Paul
然后$HELLO
将在当前会话。
4
1
很难说没有更多的上下文,但一个用法是Bash特定文件.bash_profile
包含更一般的(至于Bourne shell去)文件.profile
,因为当Bash发现第一个时,它不会加载第二个本身。
相关问题
- 1. 为什么使用Sagas()进行配置?
- 2. 使用maven配置文件来控制构建执行
- 3. 为什么用-D代替-P来激活maven配置文件?
- 4. Maven配置文件执行
- 5. 为什么要在特设分发配置配置文件之前使用开发配置配置文件?
- 6. 使用来自另一个dtsx文件的配置文件执行SSIS包
- 7. 使用msbuild执行文件系统发布配置文件
- 8. 使用自定义配置文件启动可执行文件
- 9. 有没有什么办法来强制执行EE配置RuntimeUnenhancedClasses
- 10. 什么是配置文件?
- 11. Spring - 为什么不使用log4j2 XML配置文件?
- 12. 为什么使用了错误的配置文件
- 13. 为什么我不能在bundle的配置文件中使用配置?
- 14. 为什么Maven运行配置文件插件即使配置文件未被激活
- 15. 为什么使用点*和*括号访问来分配属性?
- 16. 为什么可执行文件不可执行?
- 17. 建立配置文件为可执行文件?
- 18. 为什么使用testng.xml文件来运行Selenium代码?
- 19. 为什么在使用Vagrant shell脚本配置Ubuntu VM时不执行脚本?
- 20. 为什么执行()使用fetchall()
- 21. 什么代码在执行数据流配置文件后运行
- 22. 为什么使用app.config来存储配置数据?
- 23. 为什么我不能使用XML autofac配置来工作
- 24. 使用通配符配置文件有什么优势吗?
- 25. 我执行什么命令来运行该XML文件
- 26. 为什么log4j不能使用log4j.xml文件登录到我配置的文件?
- 27. 为什么我无法从其他配置文件激活Maven2配置文件?
- 28. Linux的:如何执行配置文件
- 29. 无法执行DSC配置文件
- 30. logstash配置文件执行错误?
很好的例子,但在这个命令:cp /usr/local/1.txt。点仍然代表来源?或者在这方面有其他含义 – mko 2011-02-19 04:10:29