2021-05-12 14:32:11
Shell入門:掌握Linux,OS X,Unix的Shell環境
2020-06-16 18:03:38
在Linux或類Unix系統中,每個使用者和進程都執行在一個特定環境中。這個環境包含了變數、設定、別名、函數以及更多的東西。下面是對Shell環境下一些常用命令的簡單介紹,包括每個命令如何使用的例子,以及在命令列下設定你自己的環境來提高效率。
找出你當前的shell
在終端應用中輸入下面命令中的任意一個:
ps $$
ps -p $$
或者
echo "$0"
輸出範例:
圖1:找出當前的shell
找出所有已安裝的shell
找到已安裝shell的完整路徑:
type -a zsh
type -a ksh
type -a sh
type -a bash
輸出範例:
圖2:找出shell的路徑
檔案/etc/shells里包含了系統所支援的shell列表。每一行代表一個shell,是相對根目錄的完整路徑。用這個cat命令來檢視這些資料:
cat /etc/shells
輸出範例:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
臨時改變當前shell
只需要輸入shell的名字。在下面的例子裡,我從bash切換到了zsh:
zsh
這只是臨時改變了系統shell。也叫做子shell。要從子/臨時shell退出,輸入下面的命令或者按下CTRL-D:
exit
找出子shell的層級或臨時shell的巢狀層級
每個bash範例啟動後,變數$SHLVL的值都會加一。輸入下面的命令:
echo "$SHLVL"
範例輸出:
圖3:Bash shell巢狀層級(子shell數目)
通過chsh命令永久變更系統shell
想要把當前系統shell從bash永久換成zsh?試試這個:
chsh -s /bin/zsh
想把其他使用者的shell從bash永久換成ksh?試試這個:
sudo chsh -s /bin/ksh userNameHere
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-03/115606p2.htm
相關文章