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更加友好和强大。

5、使用最新的zsh
# Mac OSX系统安装zsh
brew install -without-etcdir zsh
# 添加zsh shell路径至/etc/shells文件中,复制"/usr/local/bin/zsh"到/etc/shells中
sudo echo '/usr/local/bin/zsh' >> /etc/shells
# 更换默认shell
chsh -s /usr/local/bin/zsh
 
注意:为了确保zsh显示当前目录,修改~/.zshrc(如果没有,新建一个),添加如下内容:

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 $@

Shell的类型的更多相关文章

  1. 三、Shell变量类型和运算符

    一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给 ...

  2. Linux-如何查看登陆shell的类型

    输入一个系统不认识的命令(如#ig)获得系统提示 aix/#ig ksh ig not found #echo $ (适用sh/ksh) aix/#echo $ ksh #echo $SHELL(用户 ...

  3. Linux改变用户shell的类型

    命令: 改变usr01的类型 # usermod -s /bin/csh usr01

  4. shell变量类型和运算符

    一.shell变量的应用 1.shell变量的种类 ①用户自定义变量:由用户自己定义,修改和使用 ②预定义变量:bash预定义的特殊变量,不能直接修改 ③位置变量:通过命令行给程序传递执行参数 二.变 ...

  5. Shell变量类型和运算符-2

  6. 9. shell环境

    • printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...

  7. 玩转变量、环境变量以及数学运算(shell)

    变量和环境变量    var=value  给变量赋值,输出语句:$ echo $var或者是$ echo ${var},记住中间有个空格 例如:name="coffee" age ...

  8. 《Linux命令行与shell脚本编程大全》 第三章 学习笔记

    第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户 ...

  9. 深入了解shell

    接触linux很久了,但一直没有总线,老是尝鲜,什么都想学,但好多没多没有记住,特的总结了一些基本的东西,查了很多资料,不完善的方面我会慢慢的更新……   操作系统与外部最主要的接口就叫做shell. ...

随机推荐

  1. Java BitSet使用场景和示例

    一.什么是BitSet? 注:以下内容来自JDK API: BitSet类实现了一个按需增长的位向量.位Set的每一个组件都有一个boolean值.用非负的整数将BitSet的位编入索引.可以对每个编 ...

  2. Axis2创建WebService服务端接口+SoupUI以及Client端demo测试调用

    第一步:引入axis2相关jar包,如果是pom项目,直接在pom文件中引入依赖就好 <dependency> <groupId>org.apache.axis2</gr ...

  3. Hdoj 1425.sort 题解

    Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含 ...

  4. mysql表加锁、全表加锁、查看加锁、解锁

    单个表锁定: 格式: LOCK TABLES tbl_name {READ | WRITE},[ tbl_name {READ | WRITE},……] 例子: lock tables db_a.tb ...

  5. CF1059D Nature Reserve

    原题链接 网络不好的可以到洛谷上去QwQ 题目大意 有N个点,求与y=0相切的,包含这N个点的最小圆的半径 输入输出样例 输入: 2 0 1 1 1 输出 0.625 感觉最多是蓝题难度? 首先无解的 ...

  6. Day040--HTML&CSS

    内容回顾: 标签分类: (1)行内标签 span 小跨度的标签 i em a 特点: (1)在一行内显示 (2)不能设置宽高,如果不设置宽高,默认是内容的宽高 (2)块级标签 h1~h6 h1页面中尽 ...

  7. echarts 修改y轴刻度间隔问题

    其中min.max可以自定义可以动态获取数据 yAxis : [ {                        type : 'value',                        axi ...

  8. JQuery 的遍历方法 $.each

    博主呢最近在公司实习,发现公司基本上都会统一代码风格,今天看到还有很多事用JQuery写的js 请求Ajax与后台进行数据交互的方式 当我看到$each 遍历时 然我想起我学JQuery的时候 于是复 ...

  9. Moving Average

    移动平均算法Demo #!/usr/bin/python2.7 # Fetch data from BD and analyse. import json import urllib import t ...

  10. Vorticity directions 1: self-improving property of the vorticity

    在 [Li, Siran. "On Vortex Alignment and Boundedness of $ L^ q $ Norm of Vorticity." arXiv p ...