shell编程总结

一、Shell的特点

一种高级程序设计语言,有变量、关键字、条件控制语句,如if、case、while、for这些语句。有自己的语法结构。

二、

1.查看系统使用的shell: echo $SHELL

2.查看shell的位置

cd/bin

三、执行shell脚本的方法

1、输入定向到shell脚本:bash < 脚本名

四、shell语法

1、特殊字符用法

星号*:匹配任意字符的出现

方括号[]:匹配括号内所限定的任何一个字符

双引号”:双引号括起来的字符作为普通字符对待;

例:

echo “my name is `pwd`”

`pwd`表示命令替换,输出当前目录

echo “my home is $HOME”

$HOME表示变量替换,输出home目录

echo “file*.?”

原样输出普通字符

单引号’:单引号括起来的字符都作为普通字符。

“\”可以消除单引号的特殊含义。

倒引号``:命令替换符,被倒引号引起来的字符串shell解释命令行

例:today=`date`

 Echo today is $today(此处today是变量)

注释#:shell将#看做注释符号,忽略#后的字符

2、定义变量

a. 变量名可以由数字,字符和下划线组成,但是变量名只能由字符和下划线开头,而不能是数字。

b. shell变量没有储存类和类型的限制,可以边定义边使用

c. 区分大小写

d. 变量赋值

a) 变量名=字符串

X=myshell

echo $x

b) 赋值号俩边没有空格

3、从键盘读入数据

a. 利用read命令

b. read 变量1 变量2

注意:如果变量个数与输入数据个数一致,则一一对应赋值,如果变量个数大于输入数据,则从开始一一对应,知道输入的最后一个,剩下的没有对应的变量为空。如果变量个数小于输入个数,则一一对应后剩下输入数据全部赋给最后一个变量

4、输入输出命令

echo -e .......\c不换行

echo -e .......\f进纸

echo -e ...\t....表跳格

echo -e .......\n换行

echo -n .........禁止换行

-e 解释转义字符

5、shell系统变量

$0:当前程序名称

$n(1-9):$1 表示第一个参数,$2 表示第二个参数,以此类推

$#:命令行参数的个数,即传递给程序的总的参数数目

$?:上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。

$*:以“参数1 参数2 ... ” 形式保存所有参数,即传递给程序的所有参数组成的字符串

6、算数运算命令

a. let命令(当表达式中有shell的特殊字符时,必须用双引号将其括起来)

a=1

b=2

let c=a+b

echo $c

b. expr命令(运算符左右都有空格)

expr 10 + 10

expr 20 / 5

expr $a + $b

说明:字符*(乘)在shell中有特殊含义,因此他们的前面必须有转义字符“\”

如:expr 2 \* 5

当有变量参与运算时,需要在变量名前面加“$”

如:a=11

        expr $a \% 2

7、控制结构

a. if语句

if…then…fi控制结构

if  [ condition ]

then

commands

Fi

If…then…else控制结构:

if [ condition ]

then

true - commands

else

false - commands

Fi

If…then…elif控制结构:

if [ condition_1 ]

then

commands_1

elif [ condition_2 ]

    then

    commands_2

else

commands_n

fi

If语句必须用fi结束

条件外面的方括号[ ]必不可少,条件前后必须加空格。

b. 条件测试

Test 语句(可以代替if的方括号)

test是shell内部命令,它计算参数表达式的值为真还是为假。如果表达式为真,test返回0,否则,返回非0值。

if条件的一些判定大小命令

-eq:等于

-lt:小于

-le:小于等于

-gt:大于

-ge:大于等于

-ne:不等于

If条件逻辑命令

-a;相当于&&,“且”

-o:相当于||,“或”

c. 循环语句

while循环:while - do - done结构

while [ condition ]

do

commands

done

until循环:until - do - done 结构

until [ condition ]

do

commands

done

for循环:for - in - done结构

for variable in list - of - values

do

commands

done

for ((条件1; 条件2; 条件3))

do

命令表

done

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值