位置: 编程技术 - 正文

shell脚本学习指南[一](Arnold Robbins & Nelson H.F. Beebe著)(shell脚本详解)

编辑:rootadmin

第一章略过,下边从第二章开始,大家懂得。ps:这里发生了一件非常当我蛋疼的事情,非常!已经码文章码到第四章了,悲剧的按错浏览器按钮刷新掉,怎么也找不回来之前写的东西了。想死!算了,复习一边吧。以下全文均属自己总结书写,有错误的地方也未必是书中错误(当然也有可能是书中错误,但是我都会亲自操作滴),可能是我写错,请大牛指正。

第二章入门因为第二遍写,就简单快速的写吧,尽量写清楚。大家都知道的终端命令cd啊 chmod啊 who啊之类的组合在一起加上一些控制语句,变量什么的就成shell编程了,给出一个简单例子:

上边就是nusers文件就是一个完整的shell脚本了,功能是查询多少用户登录系统。cat >nusers 重定向到nusers文件输入数据流, #! 这句 ,#号之后都是注释,但是#!是会被解释器读取的,因为这句告诉了系统应该使用什么解释器,这里就是 /bin/sh 。^D是按ctrl+d 结束输入,chmod增加可执行权限,最后就是运行自己写的脚本。这样就是一个完整的编写到运行使用的过程了。你入门了木有?(额~如果木有的话,那换个文章再看看吧)

现在我们来改进一下,为了让我们执行自己的程序更像系统内建命令那样,我们可以修改系统环境变量PATH,修改过windows的童鞋都知道,linux也一样,是为了让系统搜索命令的时候有个搜索路径依据。你可以输出一下看看先:echo $PATH .结果就是输出一大串以:为分隔符的字符串,我们给他重新赋值,假设我们编写的shell代码存在用户目录下的myshell文件夹内,那么我们就这样赋值: PATH=$PATH:$HOME/myshell 这样我们就可以直接运行nusers命令获得用户登录数目的信息了。

这里学习两个命令,不好意思你想错了,不是who 和 wc,而是从最基本的输出hello,world开始嘛,所以先学echo和printf,前者十分简单,会输出所有参数,如:echo hello,world 。会c语言的朋友可以开心了,因为你不用再学习printf了,机会完全一样,比如:printf "hello,%sn",world ,这样就会输出hello,world然后换行(不会有不会c的童鞋吧?)。

另外再说一下之前出现的 > | < (不是表情 - -! (这个是)),这是基本的I/O重定向了,用过windows里cmd命令并且知道的也可以跳过了。 > 输出重定向 。 <输入重定向 。 | 管道,会把符号前的输出信息当作符号后的输入信息。另外还有>> << ,与单个的区别就是单个的会覆盖原本存在的文件,没有就创建。双个的不会覆盖,只在已有的文件后边增添。

为了练习这个重定向,学习一个tr命令,主要用于转换删除浓缩字符。语法:tr [options] source-char-list replace-char-list选项:-c 取source反义,即tr要转换的字符未列在source里,通常-d -s配合使用-d 自标准输入删除source-char-list里所列的字符,而非转换。-s 浓缩重复的字符。简易配合重定向练习练习。看看怎么浓缩的,怎么替换的。

这里介绍两个特殊文件:/dev/null 和 /dev/tty,前者传送到此文件的数据都会被系统丢弃,类似垃圾桶。从中读取数据则只能读到null。另一个/dev/tty,当程序打开此文件时,linux会自动将它重定向到一个终端(控制台或串行口或一个网络与窗口登录的伪终端等)再与程序结合。这在程序必须读取人工输入时特别有用,也可以用来产生错误信息。例:

stty(set tty)命令用来控制终端(或窗口)的各种设置。

现在已经能够写自己的shell脚本,也能够像系统内建命令一样调用了,但是还缺点什么,对,就是传参数,给自己的脚本程序传递参数,使有更丰富的功能实现。

脚本里参数获取很简单,第一个参数就是$1,第二个$2,但是超过9的都用大括号把数字括起来,如${}。下边写个完整的脚本程序:

前提是前边你也该过环境变量PATH。(不知道怎么改请往前找)

我们已经能够写一些脚本的,但是难免会出错,不能达到预期,我们需要像c++那样debug,可以直接在命令行里执行sh -x finduser 来打开执行跟踪功能。也可以在脚本里用set -x命令将执行跟踪的功能打开,然后再用set +x来关闭该功能。

个人原创,转载请注明:三江小渡

推荐整理分享shell脚本学习指南[一](Arnold Robbins & Nelson H.F. Beebe著)(shell脚本详解),希望有所帮助,仅作参考,欢迎阅读内容。

shell脚本学习指南[一](Arnold Robbins & Nelson H.F. Beebe著)(shell脚本详解)

文章相关热门搜索词:shell脚本基础教学,shell脚本总结,shell脚本总结,shell脚本 教程,shell脚本基础教学,shell脚本 教程,shell脚本基础教学,shell脚本基础教学,内容如对您有帮助,希望把文章链接给更多的朋友!

shell脚本学习指南[二](Arnold Robbins & Nelson H.F. Beebe著) 该进入第四章了,刚才看到一个帖子标题:我空有一身泡妞的好本领,但可惜自己是个妞。汗~这个。。。音乐无国界嘛,这个不应该也没性别界么?

shell脚本学习指南[三](Arnold Robbins & Nelson H.F. Beebe著) 今天木有冷笑话,只有一个噩耗。噩耗是:今天木有冷笑话!!!不要总想着冷笑话嘛,有点追求,听毛主席的话:好好学习,天天向上!第七章输入

shell脚本学习指南[四](Arnold Robbins & Nelson H.F. Beebe著) 回忆起一件事情:之前用linux寻找中文输入法的时候,在百度输入了fcitx,然后结果上边有个,您要找的是不是:讽刺腾讯。本来一直记不住这个输入法名

标签: shell脚本详解

本文链接地址:https://www.jiuchutong.com/biancheng/374760.html 转载请保留说明!

上一篇:ftp自动上传脚本分享(ftp自动上传脚本怎么用)

下一篇:shell脚本学习指南[二](Arnold Robbins & Nelson H.F. Beebe著)(shell脚本基础教学)

  • 什么是增值税的混合销售行为
  • 如何办理车辆购置置换补贴手续
  • 一般纳税人商品混凝土税率
  • 定额税率定义
  • 银行日记账期初余额写在什么科目
  • 发票开票地址是注册地址还是经营地址
  • 开业费用属于什么费用
  • 暂估入库发票回收怎么办
  • 招待费汇算清缴扣除比例
  • 在建工程是资产
  • 系统集成 税点
  • 假发票是怎么开出来的?
  • 个人兼职取得的收入和退休人员再任职取得的收入
  • 做内帐和外账需要多久
  • 公司收到银行承兑汇票会计分录
  • 应交增值税进项税额转出借贷方向表示什么
  • 税控设备全额抵扣政策
  • 已开票未收款算收入吗
  • 坏账准备一般余额在哪方
  • 退休人员返聘工资交个人所得税标准
  • 分公司亏损还会分摊所得税吗
  • 全额抵扣有哪些
  • 房地产公司的广告语
  • 汽车中介赚钱吗
  • 企业出租包装物收取的押金应通过其他应收款账户核算
  • 经营租赁的固定资产计提折旧吗
  • 起诉销售
  • rcapi.exe - rcapi是什么进程 有什么用
  • 成品油属于什么费用
  • 待清算专户
  • 小规模纳税企业在应交增值税明细科目
  • 财政拨款事业单位和全额事业单位
  • 华为如何定时关机
  • 公司装修待摊费怎么算
  • 怎么修改boot启动项
  • 汇票到期收到款项会计分录
  • 如何增加税务稽查信息
  • 黑尾鮰鱼
  • 资产负债表中其他综合收益怎么填
  • PHP+HTML+JavaScript+Css实现简单爬虫开发
  • php中自定义常量的函数是
  • 发ai的英文单词
  • vue富文本编辑器移动端
  • nginx怎么运行php
  • 关于持股平台的法律法规
  • 预支工资的借条图片
  • 外贸企业出口退税申报流程
  • 以前年度损益调整借贷方向
  • 公司帮非公司员工缴税
  • wordpress配置数据库
  • 融资租赁有免租金吗
  • mysql使用技巧
  • 公司增资该怎么做账
  • 清算时实收资本需要做收入吗为什么
  • 避税的形式
  • 本年利润期末需要结转吗
  • 直接转销法还允许使用吗
  • 生产企业免抵退是什么意思
  • 企业收取的丢失物品
  • 政府补助怎么记账
  • 购销供应商
  • 应付职工薪酬包括辞退福利吗
  • auepuf.exe是什么进程
  • win8系统无线网络图标不见了
  • win8.1开始菜单怎么改成win7那样
  • win7如何更改欢迎界面
  • win8无法更新到win10
  • linux命令find用法
  • 观察者模式的应用
  • cocos引擎教程
  • android移动网络
  • javascripr
  • 用原生js实现过什么功能
  • jquery通过属性值获取元素
  • 医院能开增值税开发票吗
  • 党建引领安全宣传美篇幼儿园
  • 如何连续打印单据
  • 车辆购置税查询怎么查
  • 股权转让本人不签字可以吗
  • 全年个人一次性奖金单独计税优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设