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. Shell命令-文件及内容处理之more、less

    文件及内容处理 - more.less 1. more:分页显示文件内容 more命令的功能说明 more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白 ...

  2. 深度学习之前期准备工作--python,pip,numpy,tensorflow安装

    1.下载并安装python https://www.python.org/downloads/windows/ 推荐3.6.5版本 2.激活pip 1.>因为python3.4之后都自带了pip ...

  3. C-static,auto,register,volatile

    static 一:静态,意思就是呆在一个地方,不想动,大概就是编译期间就确定地址了.首先了解下C中的进程内存布局: 1)正文段(.text)——CPU执行的机器指令部分:一个程序只有一个副本:只读,防 ...

  4. 添加sudo免密码

    visudo 添加如下内容即可: lizhaojun ALL=(ALL) NOPASSWD: ALL

  5. Ubuntu最常见的包问题

    工作环境换成Ubuntu18.04小记:https://www.cnblogs.com/dunitian/p/9773214.html Ubuntu不得不说的就是这个apt出问题的处理 :(换源就不说 ...

  6. java正则表达式取出匹配字符串

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexMatches { public s ...

  7. 集合的遍历以及在Spring中的注入

    (一)遍历 list:foreach循环 set:foreach循环 map:先用set集合得到所有key值,然后循环key得到所有vale Map<String,String> map ...

  8. openstack项目【day23】:keystone组件HTTP协议

    阅读目录 一 为何要学习HTTP协议 二 用户上网过程 三 HTTP协议 part1 http协议概述 part2 请求协议 part3 响应协议 四 抓包分析HTTP协议 一 为何要学习HTTP协议 ...

  9. 分布式监控系统开发【day37】:监控客户端开发(五)

    一.目录结构 二.模块方法调用关系总图 三.入口文件main 1.解决了说明问题 1.客户端就干了一件事情,干什么事情 收集数据汇报给服务端? 但是我这个客户端是插件形式2.首先必须要传一个参数,st ...

  10. [Luogu P3295][SCOI 2016]萌萌哒

    先说下暴力做法,如果[l1,r1]和[l2,r2]子串相等等价于两个区间内每个数对应相等.那么可以用并查集暴力维护,把对应相等的数的位置维护到同一个集合里去,最后答案其实就是把每个集合可以放的数个数乘 ...