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. js-模块化(三大模块化规范)

    ###1. JS模块化 * 模块化的理解 * 什么是模块?    * 将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起    * 块的内部数据/实现是私有的, 只是向外部 ...

  2. Grovvy带参数的闭包

    定义带参数的闭包:

  3. simple高度自定义的jqPaginator 项目中做分页的应用技巧

    最近做后台管理系统,分页用到的不少,项目中其实已经有分页功能的组件但是不够高度自定义,于是就找到了 jqPaginator 高度自定义的Html结构 初始化引用如下: $("#paginat ...

  4. 一键分享代码(提供能分享到QQ空间、新浪微博、人人网等的分享功能)

    <html> <head></head> <body> <div class="xl_2"> <span styl ...

  5. Working with PDF files in C# using PdfBox and IKVM

    I have found two primary libraries for programmatically manipulating PDF files;  PdfBox and iText. T ...

  6. python doc格式转文本格式

    首先python是不能直接读写doc格式的文件的,这是python先天的缺陷.但是可以利用python-docx (0.8.6)库可以读取.docx文件或.txt文件,且一路畅通无阻. 这样的话,可以 ...

  7. 【XSY2925】cti 网络流

    题目描述 有一个 \(n\times m\)的网格,每个格子里面可能有一些炮塔,或者有几个人. 每个炮塔可以在给定的方向(上下左右)上选一个点作为它的攻击位置,然后消灭这个格子里面的所有人.当然也可以 ...

  8. python学习日记(OOP——类的内置方法)

    __str__和__repr__ 改变对象的字符串显示__str__,__repr__ 我们先定义一个Student类,打印一个实例: class Student(object): def __ini ...

  9. Linux-安装Windows字体

    Linux 服务器安装Windows字体 直接上步骤: Windows字体包下载链接:https://pan.baidu.com/s/1ks9a70snHo02CTuqTrQhhg  提取码:7aw5 ...

  10. java.util.ConcurrentModificationException异常原因及解决方法

    在java语言中,ArrayList是一个很常用的类,在编程中经常要对ArrayList进行删除操作,在使用remove方法对ArrayList进行删除操作时,报java.util.Concurren ...