如何在 Linux 系統上從 Bash 切換到 Zsh

若要在 Linux 系統上從 Bash 切換到 Zsh,請先安裝 Zsh,測試後將其設定為登入 shell chsh。只需遷移所需的 Bash 設定;Oh My Zsh 是可選的。

Zsh 的啟動檔與其他 shell 不同,並且與其他 shell 語法不完全相容。以 `.zsh` 開頭的腳本#!/bin/bash仍然使用 Bash。請參閱Zsh 手冊。

1. 使用套件管理器安裝 Zsh

開啟終端機並執行適用於您發行版的命令:

Linux 發行版安裝命令
Ubuntu、Debian、Linux Mintsudo apt install zsh
Fedora 和許多基於 RHEL 的系統sudo dnf install zsh
Arch Linux、Manjarosudo pacman -S zsh
openSUSEsudo zypper install zsh
Linux 終端機顯示 sudo apt install zsh 指令
在基於 Debian 的發行版上安裝 Zsh 的範例套件管理器指令。

對於其他系統,請查看Oh My Zsh 專案的 Zsh 安裝指南。

2. 找到 Zsh 路徑並確認安裝

找到可執行檔並檢查其版本:

command -v zsh
zsh --version
終端機指令 `-v zsh` 用於尋找 Zsh 執行檔。
在變更登入 shell 之前,請尋找已安裝的 Zsh 執行檔。

路徑可能是/usr/bin/zsh`or` 或 ` /bin/zsh;`;請使用您自己的結果。檢查它是否已獲準登入:

grep -Fx "$(command -v zsh)" /etc/shells

如果結果為空,則表示該路徑可能未被批准用於登入。如有需要,請聯絡管理員更新系統 shell 清單。請參閱Linux shell 手冊。

3. 在將 Zsh 設定為預設 shell 之前,先試用一下。

啟動一個臨時 Zsh 會話,然後列印其版本資訊:

zsh
echo "$ZSH_VERSION"
用於啟動臨時 Zsh 會話的終端命令
在目前終端機中啟動 Zsh,即可在不更改帳戶設定的情況下進行嘗試。

如果您沒有設定任何個人啟動文件,Zsh 可能會顯示首次執行的設定提示;管理員可以停用此功能。您可以按照提示操作,也可以自行設定啟動檔。輸入exit命令返回 Bash。此測試不會更改您的登入 shell。

4. 設定 Zsh 並選擇性地移動設置

Zsh 從設定檔讀取互動式設定~/.zshrc。在新文件中,新增以下內容:

HISTFILE=$HOME/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
autoload -Uz compinit
compinit
包含歷史記錄和自動補全設定的 Zsh 設定文件
個人.zshrc文件中的範例歷史記錄和完成設定。

這些行用於保存命令歷史記錄並初始化命令補全功能。請將所需行新增至現有文件中,而不是取代它。請參閱Zsh 啟動文件參考文件。

將有用的別名和函數逐一移入 Zsh~/.bashrc並~/.zshrc進行測試。 Bash 特有的補全或提示代碼可能無法在 Zsh 中正常運作。請保持 Bash 腳本及其#!/bin/bash程式碼行不變。

5. 將 Zsh 設定為登入 shell

Zsh 啟動且基本設定生效後,變更您自己帳戶的登入 shell:

chsh -s "$(command -v zsh)"
終端命令將登入 shell 變更為已安裝的 Zsh 路徑
使用 . 報告的路徑變更目前帳戶的登入 shell command -v zsh。

如果提示,請輸入密碼。此操作會變更帳戶的登入 shell,而不是已執行的 Bash 進程。如有需要,授權管理員可以執行chsh 命令sudo chsh -s "$(command -v zsh)" "$USER"。請參閱chsh 手冊。除非必要,否則請避免更改 root 使用者的 shell。

6. 開啟一個新的終端並進行驗證

關閉目前終端並開啟新的終端,或登出並重新登入。然後檢查帳戶配置的 shell 和正在執行的 shell:

echo "$SHELL"
ps -p $$ -o comm=
用於檢查已設定和已啟動的登入 shell 的終端命令
在新終端機中檢查已設定的登入 shell 和 shell 進程。

第一條指令應該會列印出你的 Zsh 路徑;第二條指令應該會報告結果zsh。如果 Bash 仍然打開,請檢查終端設定檔是否啟動了自訂 shell。登入 shell 的變更也會影響新的 SSH 會話,因此在切換遠端帳戶之前請先測試 Zsh。

7. (選購)安裝 Oh My Zsh

Oh My Zsh 是一個可選的插件,用於管理主題和插件。它需要 Zsh、Git 和 / curletc /zsh/git/v3 /mstd : wget...

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
終端機顯示官方的 Oh My Zsh 安裝腳本命令
終端機中顯示的官方 Oh My Zsh 安裝命令。

該項目建議在運行腳本之前檢查腳本。備份任何現有的腳本~/.zshrc;安裝程式會將其重新命名為~/.zshrc.pre-oh-my-zsh。

8. 選擇主題和插件

在[此處] ~/.zshrc,選擇主題和插件,例如:

ZSH_THEME="robbyrussell"
plugins=(git docker)
Oh My Zsh 配置顯示了 robbyrussell 主題以及 git 和 docker 插件
主題和外掛設定應放在 Oh My Zsh.zshrc檔案中。

插件名稱之間用空格分隔,不要用逗號。查看插件文檔,然後打開一個新的終端或運行命令exec zsh重新加載。使用 Zsh 不需要 Oh My Zsh。

常見解決方法

  • chsh拒絕該路徑:command -v zsh與 中的條目進行比較/etc/shells,然後詢問管理員系統是否管理該清單。
  • 別名消失了:將相容的別名移到~/.zshrc;Zsh 不會自動讀取 Bash 的~/.bashrc。
  • Bash 腳本運行失敗:請使用 Bash 執行該腳本,或保留其 Bash shebang。變更互動式登入 shell 不會將腳本轉換為 Zsh。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。