shell脚本编程实例 shell脚本速成

11/28 03:16:42 来源网站:辅助卡盟网

shell脚本编程实例 shell脚本速成

bash(以及通常意义上的shell脚本编程)出现的日子可是不短了,每天都有新手通过bash见识到shell脚本编程和系统自动化的威力。随着微软公司在Windows 10中发布了交互式的bash shell以及Unix子系统,现在已是更适合了解shell脚本所能实现的简洁和高效的时候了。

从计算机出现的早期开始,shell脚本就一直在帮助系统管理员和程序员完成费时费力的枯燥工作。那么,什么是shell脚本?为什么你要关心它?

什么是shell脚本

shell脚本就是包含一组可运行的特定shell命令(在本文中是bash shell)的文本文件,命令的执行顺序与其出现在脚本中的顺序一致。shell以命令行的形式提供了可用的操作系统命令库的接口。

shell脚本其实就是为使用shell环境中的命令所编写的小型程序,可用于自动化那些通常没人愿意手动完成的任务,例如Web爬取、磁盘用量跟踪、天气数据下载、文件更名,等等。你甚至能够用shell脚本制作一些初级的游戏!脚本中可以加入简单的逻辑,例如在其他语言中出现的if语句。

OS X、BSD以及Linux操作系统中可用的命令行shell有很多种,包括tcsh、zsh和广受欢迎的bash。本文关注的是Unix环境中的主流:bash。

每种shell都有自己的特性和功能,但是多数人在Unix中最先熟悉的就是bash。在OS X中,Terminal(终端)应用会打开一个bash shell窗口(如图0-1)。在Linux中,有各种各样的shell控制台程序,其中最常见的是gnome-terminal(GNOME)或konsole(KDE)。这些应用可以修改自身的配置来使用其他类型的shell,不过默认选用的都是bash。实际上,不管你用的是哪种类Unix操作系统,打开Terminal应用,得到的都是bash。

图0-1OS X中的Terminal应用,其中显示了bash的版本号

注意2016年8月,微软发布了针对Windows 10周年版(Windows 10 Anniversary)的bash,所以如果你用的是Windows,照样可以使用bash shell。bash的美妙之处就在于它的可移植性,所以多数脚本基本上应该没问题。

使用终端与系统交互可能看起来是件艰巨的任务。但随着时间的推移,打开终端,快速对系统做出更改,会变得比在一个又一个的菜单中移动鼠标,找到要更改的选项更加自然。

执行命令

bash的核心功能是执行系统命令。来看一个简单的“Hello World”的例子。在bash shell中,echo命令可以在屏幕上显示文本,例如:

$ echo "Hello World"

在命令行中输入上面的内容,你就会看到Hello World出现在屏幕上。这行代码执行了bash标准命令echo。bash用来搜索标准命令的目录被保存在环境变量PATH中。你可以使用echo查看PATH变量的内容,如代码清单0-1所示。

代码清单0-1输出当前环境变量PATH

$ echo $PATH
/Users/bperry/.rvm/gems/ruby-2.1.5/bin:/Users/bperry/.rvm/gems/ruby-2.1.5@
global/bin:/Users/bperry/.rvm/rubies/ruby-2.1.5/bin:/usr/local/bin:/usr/bin:/
bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin:/Users/bperry/.rvm/bin

    暂无相关资讯
shell脚本编程实例 shell脚本速成