6.14 shell脚本

1.shell命令中的符号
* 通配符

{n..m} 
mkdir day{2..6} 创建day2到day6
mkdir {1,2,23}  创建1.c 2.c 23.c

? 只通配一个字符

[] 一个一个字符看
rm [1234].c  删除1.c 2.c 3.c 4.c 
rm [1-8].c  删除1到8.c
rm [a-c].c
rm [^134].c 除了1.c 3.c 4.c其它一位的.c


管道
命令1 | 命令2  前面的输出当作命令2的输入

重定向
> 将前面的输出放入后面 并清空
>>追加的方式

2.shell脚本
shell命令: 命令行解释器
后缀为.sh
执行脚本 :1.赋执行权限 2.bash + 文件名
#!/bin/bash 告诉系统使用的解释器

变量
自定义变量:sehll中只有字符一种数据类型
使用变量时加美元符号

位置变量: 命令行参数
$0 $1

预定义变量:系统定义好的
$? 前一个命令的退出状态

环境变量:env查看

4.shell功能语句
#表示注释

read
read val :从终端读取输入到变量val中
read -p 字符串 val :添加输入提示
        -t 秒数  规定输入时间
        -n 数字  规定最多输入字数
        -s 隐藏输入内容

test
真为0 假为1

字符串测试: test 字符串1 = 字符串2  是否相等
           !=   是否不相等
           -z 字符串  长度是否为0
           -n  是否不为0

整数测试:test a -eq b 判断a、b是否相等
                -gt   a是否大于b
               

文件测试:test -d name name是否为目录
                          -f  是否为普通文件


expr
算术运算 \* 乘  **次方
变量赋值:val=`expr 运算`
      val=$[运算]
     val=$((运算))
         val=$[2**3] 2的3次方


5.shell控制语句
条件控制:
if 表达式
then
    需要执行的语句

fi

表达式:1.test  2.[判断] 每个变量必须相隔,相当与将test变为[]
        -a:与    -o:或   !:非

if...then...elif...then...else fi


多路分支:
case 变量  in
    模式1)
        命令列表
        ;;

    模式2|模式3)
        命令列表
        ;;

    .
    .
    .
    *) //都没有就执行这个
        命令列表
        ;;
esac


循环控制:
for () in ()
do
    命令列表
done

for((;;))
do
    命令列表
done

while  表达式(ture死循环)
do
    命令列表
done

let i++ 自增
break n 跳出n层循环

总结:判断-- [ val1 = val2 ]  注意空格
           赋值-- val=$[$val+3]    注意使用$
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jun531921

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值