Shell编程极简入门实践
By StevenSLXie (Last updated: 29, Dec, 2014)0. 写在前面程序员多多少少都会和命令行打交道,一些常用的命令,比如-l -n -a等等),即使从网上找到了可能符合自己要求的代码,也往往因为看不懂而无法修改化为己用。
这个极简教程,或者说笔记,针对的是正是这部分读者。具体地说,通过学习这篇文档,你将获得以下技能: 熟练掌握Unix/Linux下的最常用命令及其最常见用法;能够编写脚本,对文件进行批处理,对一些网络任务进行自动化等等;避免写脚本过程中的最常见错误;(Hopefully)可以借此消除对命令行的恐惧;这个教程的特点是: 不求全面,只求实用。只覆盖最常用的命令及其用法;以大量例子为导向;一边阅读一边动手写例程的话,大约只需要1.5-2.5小时的时间;这篇文档假定你是在Linux/Unix环境下,比如Ubuntu, 比如Mac OS X。同时假定你至少了解一门其它的编程语言。这个教程的代码均在Mac OS下测试过,由于各种shell的标准差别很小,(有充足的理由相信)在别的平台应该也都能顺利运行。 1. Hello World首先打开你用得最顺手的文本编辑器,在第一、二行分别打入 #!/bin/bash
echo "Hello, World!"
保存文件,文件可保存在你喜欢的文件夹,扩展名选择tutorial.sh。 接着,打开命令行工具Terminal,首先将工作目录改到你保存文件的文件夹,比如如果你将/Users/Steven/code,则在命令行里执行以下操作 cd /Users/Steven/code
tutorial.sh这个脚本,所以我们要先将工作目录转到这个脚本对应的文件夹下面。接着,在命令行继续输入 chmod +x tutorial.sh
tutorial.sh变为一个可执行的文件。 接下来,我们就可以运行tutorial.sh这个脚本了。在命令行里打入 ./tutorial.sh
如无意外,你将看到命令行里返回./,系统会只在系统目录里面查找(准确来说是PATH变量定义的路径)。 我们回头来看看tutorial.sh里面的程序,目前它只有两行: #!/bin/bash
echo "Hello, World!"
print是类似的。 就这样,我们完成了一个最简单的bash scripting的程序编写…
这个极简教程,或者说笔记,针对的是正是这部分读者。具体地说,通过学习这篇文档,你将获得以下技能: 熟练掌握Unix/Linux下的最常用命令及其最常见用法;能够编写脚本,对文件进行批处理,对一些网络任务进行自动化等等;避免写脚本过程中的最常见错误;(Hopefully)可以借此消除对命令行的恐惧;这个教程的特点是: 不求全面,只求实用。只覆盖最常用的命令及其用法;以大量例子为导向;一边阅读一边动手写例程的话,大约只需要1.5-2.5小时的时间;这篇文档假定你是在Linux/Unix环境下,比如Ubuntu, 比如Mac OS X。同时假定你至少了解一门其它的编程语言。这个教程的代码均在Mac OS下测试过,由于各种shell的标准差别很小,(有充足的理由相信)在别的平台应该也都能顺利运行。 1. Hello World首先打开你用得最顺手的文本编辑器,在第一、二行分别打入 #!/bin/bash
echo "Hello, World!"
保存文件,文件可保存在你喜欢的文件夹,扩展名选择tutorial.sh。 接着,打开命令行工具Terminal,首先将工作目录改到你保存文件的文件夹,比如如果你将/Users/Steven/code,则在命令行里执行以下操作 cd /Users/Steven/code
tutorial.sh这个脚本,所以我们要先将工作目录转到这个脚本对应的文件夹下面。接着,在命令行继续输入 chmod +x tutorial.sh
tutorial.sh变为一个可执行的文件。 接下来,我们就可以运行tutorial.sh这个脚本了。在命令行里打入 ./tutorial.sh
如无意外,你将看到命令行里返回./,系统会只在系统目录里面查找(准确来说是PATH变量定义的路径)。 我们回头来看看tutorial.sh里面的程序,目前它只有两行: #!/bin/bash
echo "Hello, World!"
print是类似的。 就这样,我们完成了一个最简单的bash scripting的程序编写…