高级Bash脚本编程指南(1): 为什么使用shell编程

原创 2016年08月30日 00:15:45

毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell)。作为系统和用户之间的交互接口,shell几乎是你在 UNIX工作平台上最亲密的朋友。 学好shell是学习Linux/UNIX的开始。

想真正学习脚本编程的唯一途径就是编写脚本。

shell是一个命令解释器,是介于操作系统kernel和用户之间的一个绝缘层。一个shell程序被称为一个脚本。所有的UNIX命令和工具再加上公共程序,对于shell脚本来说,都是可调用的。而且shell内建命令,比如test与循环结构,也会给脚本带来强力的支持和增加灵活性。

为什么使用shell编程?

没有程序语言是完美的。甚至没有一个唯一的最好的语言。只有对于特定目的,比较适合和比较不适合的程序语言。

shell脚本的语法是简单并且直观的,编写脚本很像是在命令行上把一些相关命令和工具连接起来,并且只有很少一部分规则需要学习。shell脚本遵循典型的UNIX哲学,就是把大的复杂的工程分成小规模的子任务,并且把这些部件和工具组合起来。

什么时候不使用shell脚本:

(1)资源密集型的任务,尤其在需要考虑效率时;

(2)需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算;

(3)有跨平台移植需求;

(4)复杂的应用,在必须使用结构化编程的时候;

(5)对于影响系统全局性的关键任务应用;

(6)对于安全有很高要求的任务;

(7)项目由连串的依赖的各个部分组成;

(8)需要大规模的文件操作;

(9)需要多维数组的支持;

(10)需要数据结构的支持,比如链表等数据结构;

(11)需要产生或操作图形化界面GUI;

(12)需要直接操作系统硬件;

(13)需要I/O或socket接口;

(14)需要使用库或者遗留下来的老代码的接口;

(15)私人的,非开源的应用(要知道shell脚本把代码就放在文本文件中,全世界都能看到);


即使你使用更高级的语言来开发你的应用,使用shell来原型开发你的应用,在开发步骤中也是非常有用的。

Bash是"Bourne-Again Shell"首字母的缩写;Bash已经成为了所有UNIX中shell脚本的事实上的标准了。根据惯例,用户编写的Bourne Shell脚本应该在脚本的名字后边加上".sh"扩展名。一些系统脚本,比如那些在/etc/rc.d中的脚本,则不遵循这种命名习惯。



版权声明:本文为博主原创文章,未经博主允许不得转载。

高级Bash脚本编程指南学习笔记

第四章. 变量和参数介绍变量 是脚本编程中的如何进行数据表现的办法. 它们可以在算术计算中作为操作数,在一个字符串表达式中作为符号表达抽象的意义或是其他的其它意义。变量是表示计算机内存中保存一种数据需...
  • weihj1999
  • weihj1999
  • 2006年11月14日 14:22
  • 1623

高级Bash脚本编程指南——一本深入学习shell脚本艺术的书籍

http://www.reddragonfly.org/abscn/index.html 目录 序 1. 原书作者致中国读者(英文) 2. 原书作者致中国读者(译文) 3. 黄毅 4...
  • lvwinter
  • lvwinter
  • 2011年08月03日 18:44
  • 853

高级Bash脚本编程指南

有写脚本的需求,于是下了两本书,另一本《轻松学用Linux shell编程》对读者级别定位太低,适合毫无相关经验人士阅读。这本刚好,又像速查手册又有大量实例,不足之处在sed和awk介绍太少,第一遍已...
  • teddy99999
  • teddy99999
  • 2014年02月05日 22:05
  • 508

高级bash脚本编程指南

简介 Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell。 shell是一个命令解释器,是介于操作系统...
  • qq_15437629
  • qq_15437629
  • 2017年10月21日 10:30
  • 158

高级Bash脚本编程指南

立刻加入博客人自己的广告网 译者序毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell),几乎所有的Linux和绝大...
  • Suprman
  • Suprman
  • 2006年12月29日 16:14
  • 8543

《高级Bash脚本编程指南》学习笔记(1)——基础:特殊字符

特殊字符: 字符 字符解释 详解&示例 # 注释 ; 命令分隔符 echo "File $filename exists."; cp $filena...
  • meteorolite_fox
  • meteorolite_fox
  • 2014年12月11日 14:31
  • 463

Linux学习-高级shell脚本编程(一)函数的妙用

温馨提示 变量赋值的格式为:变量名=变量值 注意事项: 变量名前面不应加美元“$”符号。(和PHP不同)等号“=” 前后不可以有空格。和C语言不同,Shell中不需要显式的语法来声明变量。 变量名不...
  • Dream_angel_Z
  • Dream_angel_Z
  • 2015年05月22日 15:08
  • 1247

Shell编程常用代码实例教程

原文地址:http://erex.sinaapp.com/category/shell/ 本文是在Fedora 13的环境下进行编写测试的,使用的是默认的shell,名字是GNU b...
  • aizj199
  • aizj199
  • 2015年07月07日 17:26
  • 383

高级Bash脚本编程指南(8):操作符

高级Bash脚本编程指南(8):操作符 成于坚持,败于止步 = 通用赋值操作符, 可用于算术和字符串赋值 算术操作符 + 加法计算 - 减法计算 * 乘法计算 / 除法计算 ...
  • xinyuwuxian
  • xinyuwuxian
  • 2013年05月06日 15:25
  • 1364

《Linux与unix Shell编程指南》 总结

《Linux与unix Shell编程指南》 总结 标签: linux网络dstcron服务器 2011-01-10 18:27 3742人阅读 评论(0) 收藏 举报...
  • yu132563
  • yu132563
  • 2016年06月02日 10:54
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高级Bash脚本编程指南(1): 为什么使用shell编程
举报原因:
原因补充:

(最多只允许输入30个字)