Linux Shell 教程
Shell 教程
Shell 是一个C语言编写的程序,他是用户使用Linux的桥梁,Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的sh是第一种 Unix Shell Windows Explorer 是一个典型的图形界面Shell.
Shell 脚本
Shell 编程跟 java php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的Shell 种类众多,常见的有:
Bourne Shell (/usr/bin/sh或/bin/sh)
Bourne Again Shell (/bin/bash)
C Shell (/usr/bin/csh)
K Shell (/usr/bin/ksh)
Shell for Root (/sbin/sh)
本教程关注的是Bash, 也就是Bourne Again Shell ,由于易用和免费,Bash在日常工作中被广泛使用,同时,Bash 也是大多数Linux系统默认的Shell
在一般情况下,人们并不区分Bourne Shell 和 Bourne Again Shell , 所以,像 #!/bin/sh ,它同样也可以改为#!/bin/bash.
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的Shell 程序。
第一个shell 脚本
打开文本编辑器(可以使用vi/vim 命令来创建文件),新建一个文件 test.sh ,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见明知意
就好,如果你用php写shell脚本,扩展名就用 php 好了。
输入一些代码,第一行一般是这样的:
实例
#!/bin/bash
echo "Hello World!"
#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell
echo 命令用于向窗口输出文本。
运行 Shell 脚本有两种方法:
1. 作为可执行程序
将上面的代码保存为test.sh 并 cd 到相应目录
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
注意,一定要写成 ./test.sh 而不是 test.sh 运行其他二进制的程序也是一样,直接写 test.sh linux 系统会去 PATH 里有没有 test.sh
2. 作为解释器参数
这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,如:
/bin/sh test.sh
/bin/php test.sh
这种方式运行的脚本,不需要在第一行指定解释器信息