shell基础

#!/bin/bash
#第一行固定写法指定用什么运行
a=变量a                  #变量声明和赋值
a="变量a"               
a='变量a'

echo $a                  #echo是打印输出

for skill in A B
do     #for in do遍历
    echo "I am good at ${skill}Script"
done

readonly a
a=变量b                #readonly不能改值
echo "只读的修改后 $a"

b=变量b                  
unset b                  #unset删除变量
echo "b被删除后 $b"                 #删除后打印为空

#字符串
str="abcdefg"
echo "str长度为${#str}"  ##获取长度
echo "截取${str:1:2}"    #截取包括头尾序号从0

#数组
arr=(a1 a2 a3 a4)        #数组声明
echo ${arr[1]}           #数组打印
echo ${arr[2]}
echo ${arr[@]}           #@打印所有元素
echo ${#arr[@]}          #数组长度

#传入参数
echo "第0个参数 $0"      #第0个参数是执行的当前文件名
echo "第1个参数 $1"      #第1个之后的都是传入的参数
echo "参数个数为:$#";   #$#参数个数
echo "参数作为一个字符串显示$*" #所有参数全部打印
echo "参数作为一个数组显示$@" #所有参数转为数组显示

#运算符
c=`expr 2 + 2 - 2 \* 2 / 1 % 1`  #必须用空格隔开加号和数字*需要转译
echo $c                  
d=`expr 2 == 2`
echo $d

#关系比较
if [ 2 -eq 2 ]           #注意这里四个空格 和if then else fi的用法 
then                     #eq是相等ne不等gt大于lt小于ge大于等于le小于等于
    echo "2==2"           
else
    echo "2!=2"
fi


if [ 3 -eq 2 -o 2 -eq 2 ]     #if中的活运算是 -o 与运算 -a 或者 [[3 -eq 2 || 2 -eq 2]] 注意这里的是双括号
then                     
    echo "2==2"               
else
    echo "2!=2"
fi

if [[ 3 -eq 2 || 2 -eq 2 ]]     #if中的活运算是 -o 与运算 -a 或者 [[3 -eq 2 || 2 -eq 2]] 注意这里的是双括号
then                     
    echo "2==2"                 
else
    echo "2!=2"
fi

#字符串比较
a="abc"
b="efg"

if [ $a = $b ]
then
   echo "$a = $b : a 等于 b"
else
   echo "$a = $b: a 不等于 b"
fi
if [ $a != $b ]
then
   echo "$a != $b : a 不等于 b"
else
   echo "$a != $b: a 等于 b"
fi
if [ -z $a ]
then
   echo "-z $a : 字符串长度为 0"
else
   echo "-z $a : 字符串长度不为 0"
fi
if [ -n $a ]
then
   echo "-n $a : 字符串长度不为 0"
else
   echo "-n $a : 字符串长度为 0"
fi
if [ $a ]
then
   echo "$a : 字符串不为空"
else
   echo "$a : 字符串为空"
fi

echo `date`
#while循环写法while 双括号空格隔开 do done
i=3
while (( $i>=2 ))
do
    echo $i
    let "i--"
done

#函数
myfunc(){
    echo "myfunc"
    echo "函数第一个传入参数$1"
}
myfunc hehe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值