首頁 > 運維 > linux運維 > linux的su指令找不到怎麼辦

linux的su指令找不到怎麼辦

WBOY
發布: 2022-06-28 16:53:43
原創
5183 人瀏覽過

在linux中,可以重新設定環境變數PATH來解決su指令找不到的問題;這個問題產生的原因是「/bin」不在PATH環境變數中,重新設定環境變數為「export PATH ="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"」即可。

linux的su指令找不到怎麼辦

本教學操作環境:linux7.3系統、Dell G3電腦。

linux的su指令找不到怎麼辦

在我們安裝一些軟體的時候,為了方便使用,例如jre等,可能需要設定一些環境變數。但在設定環境變數時,要非常小心,由於我是新手,對環境變數的設定不太熟悉,在設定PATH環境變數時,將環境變數PATH的值給覆蓋掉。為了防止這種情況的發生,在設定對應的環境變數時,原來的值應加上,例如設定PATH的值,可這樣進行操作:PATH=$PATH:/***/***/ ***。 “=”後面的PATH是指設定的值。當然,最好的方法,就是你不用系統那些環境變量,定制符合自己要求的環境變量,那麼就不會發生上面的提到的問題了。如:

export JAVA_HOME=“/usr/local/jre“,JAVA_HOME就是自己自訂的環境變數。

那麼,問題發生時該怎麼辦呢?若發生將會出現下面的情況, 例如輸入su指令 'su'可在 '/bin/su'找到

#由於/bin不在PATH環境變數中,故無法找到該指令。

su:找不到指令

不管你輸入什麼指令,都會出現上面的提示。當然,此時你仍然可以執行對應的指令,只不過此時要輸入指令的絕對路徑。例如,此時你輸入“sudo gedit 檔名”,會出現錯誤提示訊息,但如果輸入“/usr/bin/sudo gedit 檔名”就可以了。

解決方法:重新設定環境變數PATH,export PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/ sbin"。

擴充知識:

Linux su(英文全拼:switch user)指令用於變更為其他使用者的身份,除root 外,需要鍵入該使用者的密碼。

使用權限:所有使用者。

語法

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
登入後複製

參數說明:

-f 或--fast 不必讀取啟動檔案(如csh.cshrc 等),僅用於csh 或tcsh

-m -p 或--preserve-environment 執行su 時不會改變環境變數

-c command 或--command=command 變更為帳號為USER 的使用者並執行指令(command)後來再變回原來使用者

-s shell 或--shell=shell 指定要執行的shell (bash csh tcsh 等),預設值為/etc/passwd 內的該使用者(USER) shell

--help 顯示說明檔

--version 顯示版本資訊

- -l 或--login 這個參數加了之後,就好像是重新login 為該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)為主,且工作目錄也會改變,如果沒有指定USER ,內定是root

USER 欲變更的使用者帳號

ARG 傳入新的shell 參數

#推薦學習:Linux影片教學

#

以上是linux的su指令找不到怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板