首先是困惑很久的問題,問題:為什么有些命令可以通過絕對路徑執行,有些命令可以直接執行,有些命令在當前目錄下的時候就可以執行。其實說來也很簡單。就是我們在Linux中執行一個命令:比如:java 命令,那么shell作為命令解釋工具需要找到命令具體代表的內容才可以,那么去哪里找呢?
1:如果配置了path環境變量那么就去path中去尋找,找不到就會報錯
2:絕對路徑相當於告訴shell去我命令中提供路徑下去尋找該命令
3:.在Linux中代表的是當前目錄,如果現在就是在當前目錄下有該命令那么這種方式也可以執行命令。
javac test.java 生成class 文件后,執行java test 報錯,提示找不到主類;究其原因就是java命令可以找到但是test不知道是什么?所以解決辦法就是在配置PATH的時候加上.;.代表當前目錄;
