没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux Shell编程入门:自动化与效率提升
Linux Shell脚本编程初体验是一篇教程,主要介绍了在Linux环境下利用脚本语言进行自动化任务处理的优势。脚本语言作为计算机与用户的交互方式,不同于图形化界面操作,它可以实现批量处理和连续执行一系列任务,极大地提高了效率。文章特别提到了bash,这是Linux中最流行的Shell脚本语言之一,其特点包括内置的历史命令功能,使得用户能够方便地访问和重用之前的命令。 脚本语言与编译型语言(如C、Java)和解释型语言(如PHP、JavaScript)不同,shell脚本更像是一个控制台接口,它调用已编译的外部程序,并处理其输出结果。例如,当你需要批量转换照片或下载媒体文件时,编写一个shell脚本可以快速执行这些任务,而无需频繁手动操作。 在bash中,作者强调了历史命令功能的重要性,这使得用户可以通过简单的导航轻松找回和修改过去的命令,而ksh则需要额外设置才能实现类似功能。此外,作者提供了在CentOS 6.6系统上使用bash-4.1.2版本进行脚本开发的建议,鼓励读者根据自己的需求选择最合适的Shell环境。 整个教程将引导读者通过比喻的方式理解Shell脚本的逻辑,比如把命令比作能帮助做事的人,只需要明确地告诉他们做什么。比如,写文档时,脚本就像指挥者,命令“打印纸张”、“口述内容”和“保存文件”等,都是构建脚本的基本步骤。至于具体如何创建和管理shell脚本,后续内容将会详细介绍语法、变量、条件语句、循环控制以及错误处理等内容,帮助读者逐步掌握Linux Shell编程的基础。
资源详情
资源推荐
Linux Shell脚本编程初体验脚本编程初体验
脚本语言是与计算机交流的另外一种途径。使用图形化窗口界面用户可以移动鼠标并点击各种对象,比如按
钮、列表、选框等等。但这种方式在每次用户想要计算机/服务器完成相同任务时却是十分不方便。要想让所有
这些事情变得简单并且自动化,我们可以使用shell脚本
通常,当人们提到“shell脚本语言”时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言。脚本语言是
与计算机交流的另外一种途径。使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对
象,比如按钮、列表、选框等等。但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下
载新的电影、mp3等)却是十分不方便。要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本。
某些编程语言,像pascal、foxpro、C、java之类,在执行前需要先进行编译。它们需要合适的编译器来让我们的代码完成某
个任务。
而其它一些编程语言,像php、javascript、visualbasic之类,则不需要编译器,因此它们需要解释器,而我们不需要编译代码
就可以运行程序。
shell脚本也像解释器一样,但它通常用于调用外部已编译的程序。然后,它会捕获输出结果、退出代码并根据情况进行处
理。
Linux世界中最为流行的shell脚本语言之一,就是bash。而我认为(这是我自己的看法)原因在于,默认情况下bash shell可
以让用户便捷地通过历史命令(先前执行过的)导航,与之相反的是,ksh则要求对.profile进行一些调整,或者记住一些“魔
术”组合键来查阅历史并修正命令。
好了,我想这些介绍已经足够了,剩下来哪个环境最适合你,就留给你自己去判断吧。从现在开始,我将只讲bash及其脚
本。在下面的例子中,我将使用CentOS 6.6和bash-4.1.2。请确保你有相同版本,或者更高版本。
Shell脚本流脚本流
shell脚本语言就跟和几个人聊天类似。你只需把所有命令想象成能帮你做事的那些人,只要你用正确的方式来请求他们去
做。比如说,你想要写文档。首先,你需要纸。然后,你需要把内容说给某个人听,让他帮你写。最后,你想要把它存放到某
个地方。或者说,你想要造一所房子,因而你需要请合适的人来清空场地。在他们说“事情干完了”,那么另外一些工程师就可
以帮你来砌墙。最后,当这些工程师们也告诉你“事情干完了”的时候,你就可以叫油漆工来给房子粉饰了。如果你让油漆工在
墙砌好前就来粉饰,会发生什么呢?我想,他们会开始发牢骚了。几乎所有这些像人一样的命令都会说话,如果它们完成了工
作而没有发生什么问题,那么它们就会告诉“标准输出”。如果它们不能做你叫它们做的事——它们会告诉“标准错误”。这样,
最后,所有的命令都通过“标准输入”来听你的话。
快速实例——当你打开linux终端并写一些文本时——你正通过“标准输入”和bash说话。那么,让我们来问问bash shell who
am i(我是谁?)吧。
复制代码 代码如下:
root@localhost ~]# who am i <--- 你通过标准输入对 bash shell 说
root pts/0 2015-04-22 20:17 (192.168.1.123) <--- bash shell通过标准输出回答你
现在,让我们说一些bash听不懂的问题:
复制代码 代码如下:
[root@localhost ~]# blablabla <--- 哈,你又在和标准输入说话了
-bash: blablabla: command not found <--- bash通过标准错误在发牢骚了
“:”之前的第一个单词通常是向你发牢骚的命令。实际上,这些流中的每一个都有它们自己的索引号(LCTT 译注:文件句柄
号):
●标准输入(stdin) - 0
●标准输出(stdout) - 1
●标准错误(stderr) - 2
如果你真的想要知道哪个输出命令说了些什么——你需要将那次发言重定向到(在命令后使用大于号“>”和流索引)文件:
复制代码 代码如下:
[root@localhost ~]# blablabla 1> output.txt
-bash: blablabla: command not found
在本例中,我们试着重定向流1(stdout)到名为output.txt的文件。让我们来看对该文件内容所做的事情吧,使用cat命令可以
做这事:
下载后可阅读完整内容,剩余7页未读,立即下载
weixin_38741996
- 粉丝: 45
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功