Shell
Shell
是一个用C
语言编写的程序,它是用户使用 Linux 的桥梁。Shell
既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Shell 脚本
Shell
脚本(shell script
),是一种为 shell
编写的脚本程序。
业界所说的 shell
通常都是指 shell
脚本,但读者朋友要知道,shell
和shell script
是两个不同的概念。
由于习惯的原因,简洁起见,本文出现的 "shell编程"
都是指 shell 脚本编程
,不是指开发 shell
自身。
Shell环境
Shell
编程跟java
、php
编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
本教程关注的是 Bash
,也就是 Bourne Again Shell
,由于易用和免费,Bash
在日常工作中被广泛使用。同时,Bash
也是大多数Linux
系统默认的Shell
。
Mac 自带的vim编辑器是支持Bash的。第一个脚本
打开文本编辑器(可以使用 vi/vim
命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。
打开终端:
-
vim test.sh
进入编辑窗口 - 按下
I
开始编辑 #!/bin/bash
echo "Hello World !"
- 按下esc,输入
:
,输入wq
- cd 到相应目录,执行脚本命令:
chmod +x ./test.sh
#使脚本具有执行权限 -
./test.sh
#执行脚本 - 输出结果就是
Hello World !
注意
:
注意,一定要写成 ./test.sh
,而不是test.sh
,运行其它二进制的程序也一样,直接写 test.sh
,linux
系统会去 PATH
里寻找有没有叫 test.sh
的,而只有/bin, /sbin, /usr/bin,/usr/sbin 等在 PATH
里,你的当前目录通常不在 PATH
里,所以写成 test.sh
是会找不到命令的,要用 ./test.sh
告诉系统说,就在当前目录找。
练习地址:
demo:testShell