shell脚本(shell script),是一种为shell编写的脚本程序.php
Shell编程只须要有一个文本编辑器和一个可以解释执行的解释器便可.shell
我如今学习的是Bourne Agine Shell,即Bash,也是大多数Linux默认的shell.编程
通常状况下人们不区分Bourne Shell和Bourne Agine Shell,像#!/bin/sh 和 #!/bin/bash.数组
一:第一个shell脚本bash
像学习大多数编程同样,从Hello World开始编辑器
打开vi编辑器,新建一个test.sh,扩展名能够本身定,主要方便记忆,输入下面代码学习
#!/bin/shthis
echo "Hello World"spa
其中#!是一种约定标记,它告诉系统后面跟的路径指向的程序,即解释此脚本的解释器ip
执行shell脚本:
执行shell脚本,须要用户有执行的权限,因此要先更给下权限
方法一: ./test.sh 其中./不能省去不能直接写test.sh
方法二: /bin/sh test.sh 这种方式执行能够在编写test.sh时不写#!/bin.sh
执行结果会输出 Hello world
二: shell变量
shell变量的定义,如 my_name="cat_crazy"
注意:1)定义变量的时候=号两侧不能有空格
2)变量名必需要以字母开头,大写或小写
3)中间不能有空格,能够有下划线
4)不能使用标点符号
5)不能使用Bash保存的关键字
使用变量: 在变量名前加$便可
my_name="cat_crzay"
echo $my_name
echo ${my_name}
其中{}是可选的,只是为了使程序更好的识别变量的边界
变量的赋值是不能加$符号,只有使用的时候才能加$,即$my_name="cat"这样作会报错
只读变量 :这个变量一旦声明为只读变量,那么就不能再此赋值
例如 my_name="cat_crazy"
readonly my_name
my_name="cat"
这样作程序会报错,this variable is read only
删除变量 : 使用unset后跟变量名删除, 例如unset my_name
shell字符串
定义一个字符串可使用单引号也可以使用双引号还能够不写,单双引号区别和php相似.
双引号的优势:1)双引号里能够有变量;2)双引号中可使用转义字符
shell数组(只支持一维数组)
定义一个数组
1) array_name=(1 2 3 4 ) 数组的值之间使用空格隔开
2) array_name[0]=1
array_name[1]=2
注:下标能够不连续,可是必需要有,(最好使用整数做为下标,不然状况不知道怎么解释)
shell注释
shell注释就是在行首加#,shell没有多行注释