成功構建.cpp擴展文件後,需要使用./a.out命令執行a.out文件。 ./表示什麼?這只是一種在終端上執行它的方法嗎?對它代表的是什麼有進一步的解釋?什麼是./在終端上執行期間
回答
這與C++無關。它適用於unix類似的操作系統。 的./說
看在我的劇本,而不是尋找當前目錄下的所有 目錄中
$PATH
.
是當前目錄(如..
是當前目錄的父目錄),所以./a.out
表示「從當前目錄運行a.out
程序」。
適用於在路徑中沒有.
的人。這是一個好主意,如果你分享你的盒子或過於偏執,但對於一個家庭盒子,它可能更容易,只需加.
到路徑的末尾,所以你不必使用長版本。
將'.'添加到'PATH'還有其他問題;如果我鍵入'foo',如果名爲'foo'的文件或目錄恰好存在(即「Permission denied」,而不是「Command not found」),則可能會出現「奇怪」錯誤... – Carpetsmoker
@Carpetsmoker,can別說我曾經遇到過這種事,也許我只比普通熊更聰明:-) – paxdiablo
指定。如果你做了ls -al
,它會列出當前目錄中的文件和文件夾,您會注意到它顯示.
作爲條目。
這對應於對當前目錄的引用。
要我們告訴shell執行a.out
文件,它是相對於對我們說./a.out
當你在Linux shell中鍵入命令,來決定做什麼,外殼首先查找如果當前目錄其中有一個/
。如果沒有,它會尋找:
- 一個內部shell命令。
$PATH
環境變量中列出的某些目錄中的可執行文件。
如果在名稱中/
,然後查找與該名稱的文件,始終。您可能知道,.
是當前目錄。
所以./
做幾件事情:
- 它可以防止外殼解釋命令作爲外殼內置。
- 它阻止shell尋找
$PATH
中的程序。 - 它使shell僅在當前目錄中查找程序。
- 1. 執行期間SQL SELECT語句實際執行的是什麼?
- 2. 在執行Nunit測試期間進程終止執行
- 3. 爲什麼在執行python腳本後,終端上看不到輸出?
- 4. 什麼是提取執行週期
- 5. 在Mac和Linux上使用終端之間有什麼區別?
- 6. 什麼是「腳本執行」時間dom.max_script_run_time
- 7. 終端爲什麼不執行Ruby文件?
- 8. 在linux上通過java在終端上執行命令
- 9. 在終端上發送SIGSTOP信號的組合鍵是什麼?
- 10. 什麼是Windows平臺上的終端服務器/終端服務?
- 11. 執行終端命令
- 12. 執行終端命令
- 13. 執行後退出終端
- 14. 執行通過終端
- 15. 終端執行功能
- 16. 什麼是「|」意味着在終端命令行?
- 17. 在WCF中執行端點行爲的順序是什麼?
- 18. 爲什麼殼輸出/從時,被的MacVim執行,而不是終端
- 19. 在終端執行腳本文件和通過終端
- 20. 什麼是linux終端中的system()?
- 21. 什麼是Android Studio終端窗格?
- 22. 什麼是R保存終端標誌?
- 23. 什麼是Ctrl + Backspace的終端鍵碼
- 24. 在詹金斯執行期間,誰/什麼中止了工作?
- 25. 爲什麼setTimeout在預期的時間沒有執行?
- 26. C++ - 爲什麼我在執行期間獲得SIGTRAP?
- 27. 爲什麼nhibernate在選擇期間確實退出執行
- 28. 爲什麼這段python代碼在執行期間會掛起?
- 29. 在Java終端中執行Linux命令
- 30. 從終端(bash)在PHP中執行MySql
目錄'.'是當前目錄,所以'./a.out'是當前目錄中的'a.out'文件。而FYI,目錄'..'是父目錄。此外,這與C++或一般編程無關,並且應該在[SuperUser](http://superuser.com/tour)上詢問。 –
重複:http://stackoverflow.com/questions/9658364/basic-unix-syntax – xgdgsc