程序媛的mac修炼手册-- 终端shell的驾驭 zsh vs bash

进入终端(Terminal)为新下载的应用配置环境,是Mac生产力up up的关键一步,更是编程小白装大神的第一步。Fake it till you make it , 硅谷大神标准路径~

shell的基本原理

为应用配置环境,相当于在应用和操作系统间架桥。由此,在应用端发出的操作指令,才能准确传递给MacOS执行。shell(命令行解释器)就是这座桥。

MacOS这样基于Unix开发的操作系统,有很多种shell,比如:Bourne Again Shell(简称“bash”)、 Korn Shell(简称“ksh”)、C Shell(简称“csh”),以及升级迭代后的Z shell(简称“zsh”)等。

在终端(Terminal)输入以下命令行,就可查看Mac当前支持的shell种类。当前Mac提供了zsh、bash、csh、dash、ksh、sh或tcsh的选择。

open /etc/shells

要查看各个shell的路径,可用以下命令行。该命令行中path是/etc/shells中列出的shell路径之一,如/bin/zsh、/bin/bash、/bin/csh、/bin/dash、/bin/ksh、/bin/sh或/bin/tcsh

chsh -s path

MacOS提供了两种系统默认shell,bash和zsh。2020年前的macOS系统,是将bash作为默认shell。自2021年发布的macOS 12 Monterey 起,Mac上将zsh作为默认shell。因此,小白跟帖学习时,一定要注意帖中的代码操作是基于zsh 还是bash!!可别自个儿看岔了,还埋怨钓鱼帖害人😂😂

当然,如果不小心跑偏了,还是可以用命令行纠正回来的。例如,在设置环境变量,用以下命令行,可将一些设置从bash配置文件移动到zsh配置文件:

export MY_SETTING=1

zsh能替代bash成为macOS的默认shell,那必然是升级迭代的结果,zsh提供了一些新功能和新完善。zsh与bash大部分兼容,但也存在一些差异。简单说,bash传达的操作指令,zsh一般也能传达,只是有一点点细节差异。比如,把“马冬梅”传递成“Ma Dongmei",而不是大爷连环问“马冬什么,什么冬梅,马什么梅”!!!

macOS默认哪种shell

要辨认系统默认是哪种shell,方法很简单。看环境变量profile的前缀,究竟是zprofile,还是bash_profile。.zshrc相当于.bashrc,并在每个新的终端会话中运行。保持队形,可别跑偏了。

Mac当前登录交互的shell类型,可以在终端(Terminal)最上面的名称栏查看,如下图所示:

更改默认shell

更改macOS默认shell的方法有好几种,详情可参考苹果官网Use zsh as the default shell on your Mac – Apple Support (UK)

此处本小白当然采用最简单直接的方法:打开终端,根据需要输入以下命令行

从 bash 切换到 zsh    

chsh -s /bin/zsh

从 zsh 切换到 bash            

chsh -s /bin/bash

理解zsh和bash的异同

关于zsh和bash在功能特性上的异同,我简单列了一个思维导图,分享给大伙儿凑合看~


关于zsh和bash的命令符差异,可参考这篇帖子
Zsh和Bash究竟有何不同_zsh bash 区别-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/230501.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode使用Remote SSH远程连接Windows 7

结论 VSCode Server不能启动,无法建立连接。 原因 .vscode-server 目录中的 node.exe 无法运行。 原因是Node.js仅在Windows 8.1、Windows Server 2012 R2或更高版本上受支持。 由于vscode基于node.js v14,不支持Windows 7操作系统。 另&#xff…

低成本高效率易部署,Ruff工业数采网关+IoT云平台赋能工厂数字化管理

随着工业4.0的快速发展,工业物联网是工业企业实现数字化转型的重要助力,物联网技术的应用也越来越广泛。 作为连接设备与网络的关键节点,数据采集网关是连接工业设备与物联网平台的硬件设备,它负责将工业设备的数据采集、传输到物…

Fast R-CNN

Fast R-CNN算法流程 对比与R-CNN其在第二步时并没有将所有的候选区域进行逐个的CNN特征提取,而是直接将整个图片进行一次CNN特征提取,让后再将候选区映射到feature map上。可想而知速度得到了提升。这里的ROI pooling层缩放到7x7就是将候选区域对应的特征…

企业使用人工智能情况调查

企业使用人工智能情况调查 人工智能在商业中的应用并不是什么新鲜事。多年来,公司一直在使用人工智能技术来削减成本并提高效率。 但最近生成式人工智能市场的激增帮助人工智能成为主流商业技术。具体来说,ChatGPT 和 Midjourney 等大型语言模型 (LLM)…

【Dart】=> [02] Dart初体验-基础语法(ing~

目录 Dart初体验基础语法变量常量数据类型数值类型 Dart初体验 效果:运行Dart程序,并输出字符串 ‘hello itcast’ 创建Dart文件 hello.dart,(Dart文件的后缀是 .dart )编写Dart代码 // 程序肯定都是有入口的 : main…

提取 PE 文件的各种信息

前段时间项目需要实现对 Windows PE 文件版本信息的提取,如文件说明、文件版本、产品名称、版权、原始文件名等信息。获取这些信息在 Windows 下当然有一系列的 API 函数供调用,简单方便。 我们先看一下PE文件结构,PE文件由DOS首部&#xff0…

LeetCode 25. K 个一组翻转链表

K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改…

不同语言告别2023,迎接2024

一、序言 1.一名合格的程序员,始于Hello World,终于Hello World,用不同语言表达2023最后一天。 2.在这一年里,博主新接触了VUE、Python、人工智能、JAVA的框架SprinBoot、微服务等,然后一路来感谢大家的支持&#xf…

nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件

目录 目录 一、引言 二、NiFi 的历史背景介绍 三、NiFi 是什么? 核心特性 应用领域 四、NIFI 入门 五 、NiFi 工作流程 六、实际应用场景 七、优势总结 一、引言 NiFi(Apache NiFi),全名为“Niagara Files”&#xff0…

Unity DOTS中的baking(二)Baker的触发

Unity DOTS中的baking(二)Baker的触发 我们知道,当传入Baker的authoring component的值发生变化时,就会触发baking。不过在有些情况下,component所引用的对象没有变化,而是对象自身内部的一些属性发生了变化…

编写.NET的Dockerfile文件构建镜像

创建一个WebApi项目,并且创建一个Dockerfile空文件,添加以下代码,7.0代表的你项目使用的SDK的版本,构建的时候也需要选择好指定的镜像tag FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443F…

深度学习基础知识神经网络

神经网络 1. 感知机 感知机(Perceptron)是 Frank Rosenblatt 在1957年提出的概念,其结构与MP模型类似,一般被视为最简单的人工神经网络,也作为二元线性分类器被广泛使用。通常情况下指单层的人工神经网络&#xff0c…

超实用的小红书达人投放策略分析,纯干货

为什么我投放了小红书达人却没有什么效果? 品牌到底应该怎么投放小红书达人? 品牌小红书达人投放怎么去把控和规划? 小红书达人作为品牌方和用户之间的桥梁,直接影响消费决策。达人粉丝数量大,粘性高,很…

一加 Buds 3正式发布:普及旗舰音质 一加用户首选

1月4日,一加新品发布会正式推出旗下新款耳机一加 Buds 3。延续一加经典美学,秉承音质完美主义追求,一加 Buds 3全面普及一加旗舰耳机体验,其搭载旗舰同款“超清晰同轴双单元”,配备49dB 4000Hz超宽频主动降噪&#xff…

Oracle笔记-查看表已使用空间最大空间

目前以Oracle18c为例,主要是查这个表USER_SEGMENTS。 在 Oracle 18c 数据库中,USER_SEGMENTS 是一个系统表,用于存储当前用户(当前会话)拥有的所有段的信息。段是 Oracle 中分配存储空间的逻辑单位,用于存…

linux centos 添加临时ip

### 1.添加ip ip addr add IP/mask dev 网络设备 例:ip addr add 172.104.210.247/24 dev ens5f1 ### 2.启动网卡 ip link set up 网络设备 例:ip link set up ens3f0 ### 3.设置默认路由 ip route add default via GATEWAY 例:ip route add …

vu3-14

第一个需求是在用户登录成功之后,在主页显示用户的真实姓名和性别,这些信息要调用后端API获取数据库里面的信息,第二个需求是点击菜单1,在表单中修改用户信息之后,更新到后端数据库,然后在主页同步更新用户…

增删改查语句实现了解不同的函数与特殊字符unionunion all区别

一、crud(增删改查) 1.1、查询 概念: 查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作 注:在MySQL中,当执行一条SQL语句后,系…

Docker中的核心概念

1.镜像 Image 一个镜像就代表一个软件。mysql镜像、redis镜像、mq镜像 2.容器 Container 一个镜像运行一次就会生成一个容器,容器就是一个运行的软件服务。 3.远程仓库 Repository 远程仓库用来存储所有软件的镜像,Docker Hub 4.本地仓库 用来存储…

Mybatis源码基本原理--XML版

文章目录 mybatis是什么架构设计首先建立起Mapper的代理工程和代理映射器的注册和使用XML文件解析数据源解析、创建和使用SQL执行器(Executor)的定义与实现SQL解析参数处理器:策略模式实现封装处理结果注解 mybatis 是什么 MyBatis 是一款优…