鸟哥私房菜 第三部分 学习shell与shell script 学习笔记
admin
2024-03-12 09:49:30
0

鸟哥私房菜 第三部分 学习shell与shell script 学习笔记

文章目录

  • 鸟哥私房菜 第三部分 学习shell与shell script 学习笔记
    • shell定义
    • Unix shell的类型
      • Bourne Shell(sh)
      • C shell(csh)
      • Korn Shell(ksh)
      • POSIX Shell(sh)
    • 命令
      • 命令的查找顺序
      • 命令通配符
      • 特殊指令
        • || && ;
        • 管道操作pipe
        • 重定向
        • 变量

书本目录:

第三部分 学习shell与shell script
第10章 vim程序编辑器
第11章 认识与学习bash
第12章 正则表达式与文件格式化处理
第13章 学习shell script

shell定义

shell壳程序:操作系统的内核管理系统的硬件,内核需要进行一定的保护,防止被用户错误导致系统崩溃。可程序是一个在用户和内核之间的桥梁,shell壳程序包含着很多命令,用户通过壳程序和内核进行交互,从而控制硬件。

Unix shell的类型

各主要操作系统下缺省的shell:

AIX下是Korn Shell。
Solaris缺省的是Bourne shell。
FreeBSD缺省的是C shell。
HP-UX缺省的是POSIX shell。
Linux是Bourne Again shell。

Bourne Shell(sh)

首个重要的标准Unix Shell是1979年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。

C shell(csh)

Bill Joy于20世纪80年代早期,在加利福尼亚大学伯克利分校开发了csh。它主要是为了让用户更容易地使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

Korn Shell(ksh)

有很长一段时间,只有两类shell供人们选择——Bourne shell用来编程,csh用来交互。为了改变这种状况,AT&T贝尔实验室的David Korn开发了ksh。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,ksh广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。ksh是一个交互式的命令解释器和命令编程语言。它符合POSIX——一个操作系统的国际标准。POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
Bourne Again Shell(bash)
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux。大多数的Linux(Red Hat、Slackware、Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。

POSIX Shell(sh)

POSIX shell是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh。

命令

命令的查找顺序

根据相对路径或者绝对路径查找
alias命令别名
bash当中查找
PATH路径中查找

命令通配符

*,?,[]

特殊指令

特殊指令含义
#注释
|管道操作pipe
;连续命令分隔符
!逻辑非操作
&后台执行命令
( )子shall
{ }命令区块
" "具有变量替换的功能
’ ’不具有变量替换的功能

|| && ;

; 表示顺序执行,无相关性
|| 两个命令中只执行一个
&& 前一个命令执行了才执行下一个,否则都不执行

管道操作pipe

管道外只处理标准标准输出信息

重定向

stdin :标准化输入
stdout :标准化输出
stderr : 标准错误输出
/dev/null : 输出到null(不输出)
&1 : 标准化输出
&2 : 标准错误输出

> 清空输出
>> 追加输出

2>&1 将stderr整合到stdout输出
1>&2 把stdout整合到stderr
>/dev/null 把stdout整合到/dev/null
1>/dev/null 把stdout整合到/dev/null

常用组合

# 命令后台执行不输出
命令 >/dev/null 2>&1 &
# 命令后台执行不输出,忽略SIGHUP信号
nohup 命令 >/dev/null 2>&1 &
# 命令后台执行,日志输出到文件/tmp/com.log
命令 >/tmp/com.log 2>&1 &

变量

$ 当前shell使用的PID(进程ID)
? 上个命令的返回值,成功执行返回的是0

相关内容

热门资讯

赵继伟首节8分余嘉豪9+5 男... [搜狐体育战报]北京时间3月1日消息,2027年男篮世界杯预选赛进入第四比赛日角逐。在菲律宾马尼拉,...
沙特股市开盘闪崩 伊朗局势对市场的第一轮冲击波来了。 沙特股市开盘暴跌 3月1日下午,沙特股市开盘闪崩,一度暴跌约5%...
从70亿到36亿,白酒深度调整... 在行业下行周期中,企业的选择往往比数据本身更具意义。 2月27日晚间,珍酒李渡发布2025年年度业绩...
年味浓、人气旺、活力足!202... 央视网消息:9天的春节假期刚刚结束,今年春节期间,消费市场人气旺、活力足。在2月26日商务部举行的新...
800字讲清楚比特币 比特币(BTC)的故事,要从2008年金融危机说起。那一年,全球金融体系动荡,人们对银行和政府的信任...
三角轮胎股份有限公司估值提升计... 本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、...
兴业银行发布科技金融专属品牌“... “在‘十五五’开局之年,我们正式推出‘兴火科技’品牌,就是希望抢抓新一轮科技革命和产业变革机遇,坚持...
老铺黄金上半年赚翻,业绩股价冰... (周梦婷 摄影) 本报()记者周梦婷 北京报道 7月27日晚些时候,老铺黄金发布了正面盈利预告,毫不...
ST萃华新增四笔借款逾期 累计... 本报讯 (记者李勇)近期陷入流动性危机的沈阳萃华金银珠宝股份有限公司(以下简称“ST萃华”)又有新的...
执掌60年,超60000倍回报... 红星资本局3月1日消息,北京时间2月28日晚间,“股神”巴菲特旗下的伯克希尔·哈撒韦(下简称“伯克希...
上海做小耳畸形最好的机构是哪家... 关于 “上海做小耳畸形最好的医院”,没有绝对统一的答案,核心在于医疗机构的专科优势与患者的个体需求匹...
华宝基金原指数投资总监胡洁加盟... 中国证券投资基金业协会公示信息显示,华宝基金原指数投资总监胡洁已于2月12日从华宝基金完成注销,并于...
原创 企... 2026年2月24日上午10点,东京股市依旧平静交易,谁也未曾预料到一场风暴悄然逼近。就在这一时刻,...
聊聊拟上市公司股权激励,口碑好... 在企业的发展进程中,股权激励已成为吸引人才、提升团队凝聚力、促进企业战略目标实现的重要手段,对于拟上...
12天火速入职,千亿ETF“女... 【导读】12天火速入职!千亿ETF“女将”履新天弘基金 中国基金报记者 若晖 千亿ETF“女将”胡洁...
门头沟点亮“永定河AI原生创作... 2月28日,2026中关村论坛系列活动——第四届北京人工智能产业创新发展大会在国家会议中心二期开幕。...
2025年中国方便面行业发展状... 今天分享的是:2025年中国方便面行业发展状况与消费行为调查数据-艾媒咨询 报告共计:44页 202...
从“北漂”到“晋创”,一个人就... 清晨,山西阳泉一间安静的书房里,键盘敲击声夹杂着低语。王曙(化名)正对着电脑屏幕“自言自语”——他在...
“十五五”开局看河北 | 民企... 河北数字工商联平台帮助34.8万户企业获得银行授信2523.18亿元 民企信用画像,让融资更高效 ...
吉林农商银行:金融活水润黑土 ... 春节的年味,在吉林的田间地头、集市街巷中弥漫。寒风里,有农户备耕的忙碌,有商户备货的热火,更有吉林农...