sudo cd提示命令無法找到或無任何提示卻不執行的情況

sudo命令執行過程解析:

用sudo執行某一命令時,是在原進程(parent process)的基礎上fork出來一個子進程(child process),這個子進程是以root權限執行的。然後在子進程中,執行你在sudo後面跟的命令。
在子進程中是無法調用涉及到父進程的狀態的一些命令的,所以非系統內置命令會被拒絕。這就是爲什麼會出現command not found的提示。

cd命令解析:

cd屬於bash(shell)內置命令,並不屬於系統命令
[root@shvpuppet01 inventory]# whatis cd
cd [builtins]        (1)  - bash built-in commands, see bash(1)

問題一:sudo cd時,提示command not found

原因:sudo不能執行非系統命令
解決方法:
    a.sudo -s:以目標用戶身份運行shell
    b.sudo -i:以目標用戶身份運行登錄shell

問題一:sudo cd時,無任何提示卻不執行

原因:還是問題一的原因
解決方法:
    a.對要進入的目錄加x權限,不要加-R參數,修改後即可進入
    b.按照問題一的解決方法處理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章