1、类Unix系统中有各种shell。如:
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
2、在/etc/shells
文本文件中可以查看
cat /etc/shells
3、查看当前终端运行的是哪种shell
ps
-p $$
或
echo
$SHELL
注意:echo
$SHELL 在zsh下运行也得到/bin/bash,所以
echo
$SHELL
不一定正确。
ps
-p $$写在*.sh中,执行结果也不一定正确
4、设置终端默认shell
# 切换zsh为默认shell
chsh -s $(which zsh)
zsh是OSX系统原生的shell之一,其功能强大,语法相对于bash更加友好和强大。
ref=$(git symbolic-ref HEAD 2> /dev/null)
if [[ -n $ref ]]; then
git_prompt_info=" %{$fg_bold[green]%}${ref#refs/heads/}%{$reset_color%}"
fi
setopt promptsubst
#设置环境变量 PS1 = Prompt String 1:提示字符串1。更多PS1内容,查看https://linux.cn/article-8711-1.html
export PS1='${SSH_CONNECTION+"%{$fg_bold[green]%}%n@%m:"}%{$fg_bold[blue]%}%c%{$reset_color%}$git_prompt_info %# '
同时为了确保zsh进入bash显示当前目录,修改/usr/local/bin/bash(如果没有,新建一个),添加如下内容:
export PS1='\h:\W \u\$ '
/bin/bash $@