日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux云服务终端提示符显示-bash-4.2#解决方法

發布時間:2023/12/31 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux云服务终端提示符显示-bash-4.2#解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天連接到云服務器突然發現輸入命令無效
出現這種情況

嘗試使用Ctrl+C 退出

結果變成-bash-4.2#
網上查了半天 很多人多說是誤刪了兩個文件
但我查看發現這兩個文件都存在
輸入命令: l. 查看所有隱藏文件

如果沒有這兩個隱藏文件就從etc下復制過來

cp /etc/skel/.bashrc /root/ cp /etc/skel/.bash_profile /root/

然而我的這兩個文件都存在,說明不是這個問題
終于翻了好多資料發現
這個問題出現的原因是.bashrc文件被破壞,導致里面沒有該有的內容
于是編輯.bashrc文件

vim .bashrc

在最后一行加入

PS1='[\u@\h \W]$ '>>.bashrc


然后 :wq 保存
刷新.bashrc文件

source .bashrc

這樣就解決了

但是發現每次打開Xshell終端,都要source一下.bashrc
再研究過程中發現簡書上有一篇文章解決了此問題:
https://www.jianshu.com/p/35ad1b375e50

因為Linux啟動時讀取配置文件的順序。
在剛登錄Linux時,首先啟動/etc/profile 文件,然后再啟動用戶目錄下的 ~/.bash_profile、~/.bash_login或 ~/.profile文件中的其中一個,
執行的順序為:~/.bash_profile、~/.bash_login、 ~/.profile。

如果 ~/.bash_profile文件存在的話,一般還會執行 ~/.bashrc文件。
因為在~/.bash_profile文件中一般會有下面的代碼:

if [ -f ~/.bashrc ] ; thensource .bashrc fi

~/.bashrc中,一般還會有以下代碼:

if [ -f /etc/bashrc ] ; thensource .bashrc fi

所以,~/.bashrc會調用/etc/bashrc文件。最后,在退出shell時,還會執行 ~/.bash_logout文件。

總結一下,這些配置文件的執行順序為:/etc/profile→ (~/.bash_profile | ~/.bash_login | ~/.profile)→~/.bashrc →/etc/bashrc → ~/.bash_logout

因為在~/.bash_profile文件中沒有下面的代碼:

if [ -f ~/.bashrc ] ; thensource .bashrc fi

所以linux就不會自動執行~/.bashrc文件,所以你每次登陸的時候都要手動輸入source ~/.bashrc。
解決方法:
vim ~/.bash_profile在文件內部輸入

# 加載.bashrc文件 if test -f .bashrc ; then source .bashrc fi

輸入:wq保存并退出即可。

關于各個配置文件的作用域
/etc/profile:
此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 并從/etc/profile.d目錄的配置文件中搜集shell的設置。

/etc/bashrc:
為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取(即每次新開一個終端,都會執行bashrc)。

~/.bash_profile:
每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。默認情況下,設置一些環境變量,執行用戶的.bashrc文件。

~/.bashrc:
該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。

~/.bash_logout:
當每次退出系統(退出bash shell)時,執行該文件. 另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承 /etc/profile中的變量,他們是"父子"關系。

~/.bash_profile: 是交互式、login 方式進入 bash 運行的 ~/.bashrc 是交互式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用后者。

總結

以上是生活随笔為你收集整理的linux云服务终端提示符显示-bash-4.2#解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。