linux——shell脚本的基本操作

一、创建:

创建:vi 文件名.sh

运行:方式一: chmod u+x,添加执行权限后,./文件名.sh运行

           方式二:bash 文件名.sh 运行

二、变量:

1.自定义变量:不需要定义,可以直接赋值,引用变量时,需在变量名前加$

eg:A=10  B=$A     (所有语句都不需要加分号结束) 表示A=10,把A的值赋值给B,B=10

2.预定义变量

环境变量: PATH HOME

位置变量:

$0-$9命令行参数,表示在执行该文件时,在执行命令后面进行占位传值,$0表示执行命令的位置,所以对程序内的预定义变量是从$1开始的。

$@和$*都表示所有命令参数

$#  命令行参数个数

$? 上一次命令参数行执行的状态      0为真、1为假,与c语言相反

三、功能语句:

read 输入 :  eg:read A表示执行时对A进行传值

test  判断字符串:

test  s1=s2    判断s1与s2是否相等

test s1!=s2    判断s1与s2是否不相等

test -z s1 判断s1的长度为0

数字的判断

-eq 等于

-ne 不等于

-lt 小于

-le 小于等于

-gt 大于

-ge 大于等于

文件的判断

-d name  测试name是否为一个目录

-e name 测试一个文件是否存在

-f name 测试name 是否为普通文件

-L name 测试name 是否为符号链接

-r name 测试name 文件是否存在且为可读

-w name 测试name 文件是否存在且为可写

-x name 测试name 文件是否存在且为可执行

-s name 测试name 文件是否存在且其长度不为0

f1 -nt f2 测试文件f1 是否比文件f2 更新

f1 -ot f2 测试文件f1 是否比文件f2 更旧

expr: 计算算数表达式,例如:加减乘除  计算并输出运算结果

注意:非单独使用时,需要``将语句包含起来,进行命令置换,否则会将其理解为字符串进行赋值

eg:A=`expr 12 + 13`   (注意,要加空格,不可省略)

if控制语句:

if [条件]      //if test 测试内容   也可以执行

then

语句

else

语句

fi    //结束if语句

if [条件]

then

语句

elif [条件]

then

语句

else

语句

fi   

例1:两个数A,B,输出最大值

A=10
B=20
if[A -gt B]
then
echo $A
else
echo $B
fi

case控制语句:

case 条件 in

 值1|值2)     //可以有多个值,用|隔开

语句

值3)

语句

esac   //结束case语句

例2: 输入1到30范围内的数,假如1号是星期一,求输入的数为星期几

case `$1 % 7` in
  1)
 echo 星期一
 2)
 echo 星期二
 3)
 echo 星期三
 4)
 echo 星期四
 5)
 echo 星期五
 6)
 echo 星期六
 7)
 echo 星期天
esac

for循环语句:

for 值 in  条件         for A in `seq 0 2 100` 表示A=0,A小于等于100执行do语句,每次A累加2

do

语句

done   //结束循环

例3:求0-100的和

sum=0
for A in `seq 0 1 100`    //0<A<100 循环一次累加1
do
sum=$sum+$A
done
echo sum

while循环语句

while  条件

do

语句

done

求0-100的和

A=0
sum=0
while test A -le 100     //=while [A -le 100]
do
sum=$sum+$A
A=$A+1
done
echo sum

函数:

函数不需要返回值和参数声明

func()

{

形参

语句

}

func  实参       //函数的调用和传参

$?     //函数返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值