初学shell脚本

#!  符号意思
#! 并非注释的意思 用于脚本开头 命令解释器标识

bash      #!/bin/bash   
python    #!/usr/bin/python2 或 #!/usr/bin/env python2

变量

1定义变量

定义变量:bianLiang=123

变量取值:$bianLiang

' '  和 ""区别

'' 不能解析 相当于字符串  

"" 可以被解析

#!/bin/bash
num=200
echo "num=$num"
echo 'num=$num'

输出结果
num=200
num=$num

位置变量含义
$n(数字)脚本的第n个参数
$0脚本名字
$#脚本参数个数
$@取出脚本所有参数
$*取出脚本所有参数
"$?"用于检查上一个命令是否正确,(linux中命令退出0表示正确 非0 不正确)
$$当前进程号
变量赋值
直接赋值canshu=123
命令结果赋值canshu=‘123’
通过执行脚本命令后带参数(传参)canshu =$1
交互式赋值

通过read命令   read -p "请输入密码" pass

 read -s -p "请输入密码" pass  输入时候控制台不显示输入内容 -s

   

运算
符号含义
+ - * \ %加 减 乘 除 取余
 && || 并且  或者
运算命令
awk可以进行小数计算,可以和shell脚本变量传递
expr可用于检测是否位数字
let计算 整数 变量直接使用
判断符号
等于-eq      (equal)
不等于-ne    (not equal)
大于-gt    (greater than)
大于等于-ge   (greater equal)
小于-lt    (less than)
小于等于-le  (less equal)

awk基础用法  

awk 'BEGIN{print 1/3}'

使用shell变量

awk -v n1=1 -v n2=2  'BEGIN{print n1/n2}'

条件判断

test命令:用于测试字符串、文件状态和数字
test命令有两种格式:
test condition 或[ condition ]
使用方括号时,要注意在条件两边加上空格

1,文件测试

     表达式: -e 是否存在      -d是目录            -f是文件           -r可读            -w可写                       -x可执行          -L符号链接        -c是否字符设备                       -b是否块设备                             -s非空文件

#!/bin/bash

#输入文件名字 判断是否存在  返回0 存在

read -p "输入文件名:"  name
# test -e $name
[ -e $name]
echo $?

2.字符串测试

  = 是否相等        !=不相等        -z空字符串        -n非空

#!/bin/bash

#输入y或者n 判断是相等  返回0 相等
test -z $yn
echo $?
read -p "输入y/n"  yn
[ -z $yn]
echo $?
[ $yn="y"]
echo $?
#----------------以上脚本内容-------以下输出结果--------
结果输出:
0
假如输入的是 y   1
0

if语句
if语句
格式一:
if [条件1]; then
    执行第一段程序
else
    执行第二段程序
fi
格式二:
if [条件1]; then
    执行第一段程序
elif [条件2];then
执行第二段程序
else
    执行第三段程序
fi
case语句       
 case $变量名称 in

        “比较的变量1” )

        逻辑处理

        ;;                                     -->相当于break

        “比较的变量2” )

        逻辑处理

        ;;

esac
for循环

形式一

for((初始值;限制值;执行步介)) 

        do

        程序

        done
#举例

for(( i=0;i<=100;1++ ))
    do
    程序
    done

形式二

for 参数 in 被循环体

        do

        逻辑

        done
while 
while [ 条件 ]

        do 

        逻辑

        done
break continue区别

break:跳出循环

continue:不会跳出循环体,只跳过当前的循环

函数 

定义格式一:

函数名称(){



}

定义格式二:

function 函数名称(){



}


#使用函数举例

#定义函数
function maxmax(){
 if[ $n1 -gt $n2];then
    return $n1
    else
    return $n2
 fi
}
read "请输入参数1" n1
read "请输入参数2" n2
#调用函数
maxmax $n1 $n2
echo "最大参数 $?" 




#导入函数方式
source 函数名字.sh

 语其他

#输出 
cat <<EOF
          写上输出内容
           EOF


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值