1. 程式人生 > >sudo cd提示命令無法找到或無任何提示卻不執行的情況

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

基礎上 child 內置 RoCE 不執行 系統內置 無法找到 目錄 ins

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.按照問題一的解決方法處理

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