解決bash終端的路徑名稱亂碼問題

解決bash終端的路徑名稱亂碼

默認打開了zsh,當我輸入bash后,就出現了亂碼

(context_rag) [23fanyao@head1]~/mycode-thesis% bash
(context_rag) [%n@%m]%~%#

在這里插入圖片描述

亂碼原因排查

我遇到了終端亂碼問題,需要檢查當前的終端環境和編碼設置,下面是我的檢查過程

  1. 終端輸入:locale

系統的locale設置看起來正常,都是UTF-8編碼。

  1. 再檢查一下終端的字符編碼設置和環境變量。

mycode-thesis 終端

echo $TERM && echo $LANG && echo $LC_ALL 

在這里插入圖片描述

環境變量看起來正常。

  1. 檢查一下Python的默認編碼設置,因為可能在運行Python腳本時遇到亂碼問題。在終端中輸入:
python3 -c "import sys; print('Python version:', sys.version); print('Default encoding:', sys.getdefaultencoding()); print('File system encoding:', sys.getfilesystemencoding()); print('Stdout encoding:', sys.stdout.encoding)"

在這里插入圖片描述

Python編碼設置也是正常的。

  1. 檢查一下的shell配置文件,看看是否有特殊的編碼設置或別名導致亂碼。
echo $SHELL && cat ~/.bashrc | grep -i 'lang\|locale\|encoding' || echo 'No encoding settings found in .bashrc'

在這里插入圖片描述

  1. 檢查一下當前的終端提示符設置,因為我注意到提到的亂碼可能與PS1提示符有關。(查詢結果如上圖)
echo "Current PS1: $PS1"

最終!!!我發現了亂碼問題的原因:原來是終端提示符(PS1)使用了zsh風格的變量格式(%n、%m、%~、%#),但當前使用的是bash shell,這導致這些變量無法正確解析。

解決方案(錯誤!這是踩過的坑):

  1. 臨時修復 (當前會話有效):
export PS1='(context_rag) [\u@\h]\w\$ '
  1. 永久修復 (添加到~/.bashrc文件):
echo 'export PS1="(context_rag) [\u@\h]\w\$ "' >> ~/.bashrc
source ~/.bashrc

成功解決:

在這里插入圖片描述

解決方案(正確):

(這里我之前犯錯了,不小心執行了下面的命令把echo 'export PS1="(context_rag)[\u@\h]\w\$ "' >> ~/.bashrc 虛擬環境(固定寫上去了),所以上圖會看到帶有虛擬環境的標識,但這是錯誤的,會誤導我們,因為目前所在環境是base,我們不能寫死在PS1顯示中。應該寫為默認環境變量,意思到這個問題,所以我更正了,又重新設置一遍,)

正確重新設置一遍如下:

或者不喜歡這樣的配置,我喜歡把當前路徑加到[ ] 的里面, 用空格隔開

echo 'export PS1="(\$CONDA_DEFAULT_ENV)[\u@\h \w]\$ "' >> ~/.bashrc
source ~/.bashrc

這里,我的默認環境變量是:$CONDA_DEFAULT_ENV = base

顯示:

在這里插入圖片描述
在這里插入圖片描述

知其然,也要知其所以然

**學習積累,不僅要知道這樣做設置正確,還要知道為什么這樣做。**所以我查閱了一些參數含義,舉例子讓自己理解。附在下面把。

解釋 PS1="[\u@\h \w]\$ " 的含義

參數含義
\u當前用戶名(user)
\h主機名(host)的簡寫(第一個點之前的部分)
\w當前工作目錄的完整路徑(絕對路徑,但家目錄會被替換成~
\$如果是普通用戶顯示$,如果是 root 顯示#

📌 關于 \w 的詳細解釋

\w 表示的是 當前工作目錄的完整路徑(即絕對路徑) ,但它會做如下簡化:

  • 用戶的主目錄(如 /home/user)會被替換為 ~
  • 其他路徑則顯示完整的絕對路徑,例如:/home/user/documents/project

🧪 示例說明

假設你當前的登錄用戶名是 alice,主機名是 mybox,你現在所在的目錄是:/home/alice/projects/myapp

那么你的命令行提示符就會變成:[alice@mybox ~/projects/myapp]$

再舉幾個例子:

當前路徑:命令行顯示的 \w
/home/alice~
/home/alice/documents~/documents
/etc/nginx/etc/nginx
/var/www/html/var/www/html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914263.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914263.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914263.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【深度學習】【入門】Sequential的使用和簡單神經網絡搭建

1.Sequential的概念它是一種按順序封裝神經網絡層的容器,能讓層按照添加順序依次執行計算,簡化網絡搭建流程2.Sequential的作用1.代碼簡潔化對比不用 Sequential 時手動搭建層的繁瑣代碼(如每層需手動定義并連接),展示…

前端開發中的資源緩存詳解

資源緩存用于緩存靜態資源,良好的緩存策略可以減少資源重復加載進而提高網頁的整體加載速度。 通常瀏覽器緩存策略分為兩種:強緩存和協商緩存,當然還包括 service worker。 瀏覽器在資源加載時,根據請求頭中的 expires 和 cache-control 值來判斷是否命中強緩存,命中則直…

零基礎入門指南:華為數通認證體系詳解

一、華為數通認證的定位與行業價值華為數通認證(Datacom)是ICT領域核心方向,覆蓋路由器、交換機等網絡基礎設備技術,被譽為“網絡行業的骨骼”。2020年升級為Datacom認證體系,新增SDN、VXLAN、網絡自動化等前沿技術&am…

超低功耗CC2340R SimpleLink? 系列 2.4GHz 無線 MCU支持BLE5.3/Zigbee/Thread/專有協議

CC2340R SimpleLink? 系列 2.4GHz 無線 MCU支持BLE5.3/Zigbee/Thread/專有協議優勢簡介性能介紹應用場景優勢簡介 CC2340R SimpleLink? 系列器件為 2.4GHz 無線微控制器 (MCU),面向低功耗 Bluetooth5.3、Zigbee、Thread 和專有 2.4GHz 應用。這些器件針對低功耗無…

若依前后端分離Vue3版本接入阿里云OSS

一、引入依賴首先在commom 模塊的pom 下面引入 阿里云OSS 的 依賴<!-- 阿里云oss --><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></depende…

2025年微軟mos備考攻略-窮鬼版

說實話&#xff0c;微軟MOS認證是微軟官芳推出的辦公軟件方面的認證&#xff0c;考試難度真的不大&#xff0c;完全沒必要報班&#xff0c;自學完全OK&#xff01;一、25 年報考MOS認證詳情報名時間&#xff1a;隨時可以在官網或ji構報名&#xff08;ji構報名會送備考資料&…

數據庫版本自動管理

FlywayDB 是一款 開源數據庫版本管理工具&#xff0c;開發中將表結構的變更或數據初始化腳本維護好&#xff0c;更新到測試環境或線上發版啟動服務的時候&#xff0c;會檢測版本號自動執行數據庫變更&#xff0c;可以減少每次發版到其他環境的人工執行操作。 工作流程初始化階段…

解決Linux綁定失敗地址已使用(端口被占用)的問題

文章目錄解決 bind failed: Address already in use 問題一、問題原因1. **端口已經被其他程序占用**2. **端口處于 TIME_WAIT 狀態**3. **未正確關閉套接字**二、如何排查和解決問題1. **確認端口是否被占用**2. **查找并殺掉占用端口的進程**3. **等待端口釋放&#xff08;TI…

Ragas的Prompt Object

Prompt在Ragas中被用在各種指標、合成數據生成任務中。同時也為提供了替換各種自動以提示詞的方式。Ragas提供了如下幾種Prompt Objects。 instruction:prompt的基礎組成,通過自然語言清晰的描述LLM需要完成的任務。在prompt object中用instruction變量定義。few-shot exampl…

PHP語法高級篇(一):日期時間處理和包含文件

從本篇文章開始&#xff0c;將學習PHP的高級特性內容。本篇文章將記錄在PHP中如何進行日期時間處理和包含文件的學習過程。 一、日期和時間 在PHP中&#xff0c;date() 函數用于格式化日期或時間。 說明 date(string $format, ?int $timestamp null): string 使用指定整數…

請求服務端獲取broker的機房歸屬信息異常

該錯誤表明服務在嘗試獲取 broker 的 ?機房歸屬信息? 時遇到異常。以下是詳細分析和解決方案建議&#xff1a;?問題定位與常見原因??網絡問題?客戶端無法連接存儲機房信息的元數據服務?&#xff08;如配置中心、注冊中心&#xff09;。防火墻或安全組阻斷了相關端口&…

Android 中的多線程編程全面解析

Android 中的多線程編程全面解析 一、Android 線程模型基礎 主線程&#xff08;UI 線程&#xff09;特性 唯一性&#xff1a;每個應用只有一個主線程職責&#xff1a;處理 UI 操作和用戶交互限制&#xff1a;禁止在主線程執行耗時操作&#xff08;超過5秒會導致 ANR&#xff09…

golang -gorm 增刪改查操作,事務操作

增刪改查 1. 插入數據// api func SaveUser(ctx *gin.Context) {result : &common.Result{}user : &dao.User{}err : ctx.ShouldBindJSON(&user)if err ! nil {ctx.JSON(http.StatusOK, result.Fail(400, "請使用json數據格式傳值"))return}// 調用驗證函…

大數據時代UI前端的智能化服務升級:基于用戶情境的主動服務設計

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩!一、引言&#xff1a;從 “被動響應” 到 “主動預判” 的 UI 服務革命當用戶在暴雨天打開外賣…

CUDA性能優化實戰:7個步驟讓并行歸約算法提升10倍效率

本文深入探討了一個經典的并行計算算法——并行歸約&#xff08;Parallel Reduction&#xff09;的性能優化過程&#xff0c;通過七個漸進式的優化步驟&#xff0c;展示了如何將算法性能提升至極致。這項研究基于Mark Harris在NVIDIA網絡研討會中提出的優化方法&#xff0c;在重…

詳解梯度消失和梯度爆炸(反向傳播)?

什么是梯度消失&#xff1f;梯度消失&#xff08;Gradient Vanishing&#xff09; 是指在訓練神經網絡時&#xff0c;反向傳播過程中計算得到的梯度&#xff08;用于更新參數的重要信息&#xff09;隨著網絡層數的增加而急劇減小&#xff0c;甚至趨近于零的現象。這會導致深層網…

端到端自動駕駛:挑戰與前沿

端到端自動駕駛&#xff1a;挑戰與前沿 End-to-End Autonomous Driving: Challenges and Frontiers 自動駕駛研究社區已見證了越來越多采用端到端算法框架的方法的快速增長&#xff0c;這些方法利用原始傳感器輸入生成車輛的運動規劃&#xff0c;而不是專注于諸如檢測和運動預測…

rust cargo 編譯雙架構的庫

這個錯誤表明你的 Rust 工具鏈沒有安裝 aarch64-apple-darwin 目標平臺。以下是完整的解決方案&#xff1a; 解決方案 ??安裝目標平臺?? (必須步驟) rustup target add aarch64-apple-darwin??驗證安裝?? (可選但推薦) rustup target list --installed # 應該能看到 aa…

Apache Shiro 框架詳解

文章目錄一、Shiro 核心功能二、Shiro 架構2.1 三層架構2.2 核心組件&#xff08;SecurityManager 內部&#xff09;三、核心流程詳解3.1 認證流程&#xff08;登錄&#xff09;流程步驟&#xff1a;認證流程序列圖&#xff1a;3.2 授權流程&#xff08;權限校驗&#xff09;流…

【保姆級喂飯教程】Windows下安裝Git Flow

目錄前言一、SourceTree二、Git for Windows (previously MSysGit)1. 下載補丁1.1 getopt.exe1.2 libintl3.dll1.3 libiconv2.dll1.4 安裝補丁2. 安裝Git Flow3. 測試3.1 初始化&#xff08;Initialize&#xff09;3.2 設置遠程3.3 創建分支3.4 功能開發3.5 功能提交3.6 推送分…