Shell编程(一)
前言:我的简历中写到熟悉linux常用命令,能进行shell编程,因此学习shell编程是必须的了。
阅读目录:
-
一、shell与bash
-
二、shell脚本的结构及执行
- 三、shell中的循环、if判断、函数
一、shell与bash
shell是用户与linux操作系统内核交互的接口程序,也是一个命令语言解释器,将用户输入的命令解释给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是shell的一种,也是大多数linux系统默认使用的shell。
二、shell脚本的结构及执行
1.脚本格式
利用vi编辑器编写脚本的格式是固定的,如下:
#!/bin/sh //#!告诉系统其后面路径指定的程序就是解释此脚本文件的shell程序。
#comments //注释行
your commands go here
2.执行脚本
编辑完脚本后,保存文件名为filename.sh,在运行此脚本前,需要修改此脚本的可执行权限:
chmod+X filename.sh
执行脚本:
./filename.sh
3.最简单的hello world 程序
#!/bin/sh
a="hello world"; //变量赋值 variable_name = variable_value
echo $a; //使用变量$variable或${variable}
三、shell中的循环、if 判断、函数
1. for循环
for i in $(seq 0 5) ;do
echo $i
done
2.while循环
while 条件;do
command
done
比如: a=10
while [$a -ge 1];do
echo $a
a=$[$a-1]
done
3. if 判断语句; then command fi
if 判断语句; then command
else command
fi
if 判断语句一; then command
elif判断语句二; then command
else command
fi
if((a<5)) 等同于 if[$a -lt 5] -lt 小于
if((a>5)) 等同于 if[$a -gt 5] -gt 大于
if((a>=5)) 等同于if[$a -ge 5] -ge 大于等于
if((a<=5))等同于if[$a -le 5] -le 小于等于
if((a==5))等同于 if[$a -eq 5] -eq 等于
if((a!=5))等同于 if[$a -ne 5] -ne 不等于
判断数值大小除了(())的形式外,还可以使用[]
数学计算要用[]括起来并且外面要带一个$
a=1
b=2
sum=$[$a+$b]
4. shell脚本中的函数
function 函数名(){
command
}
在shell脚本中,函数要写在最前面。
function sum(){
sum=$[$1+$2]
echo $sum
}
sum $1 $2