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