shell 基础

基本


变量

#**变量**
#等号前后不能有空格
a=1
echo $a #当shell看到以$开头的变量,就会去寻找变量的值

#为了防止变量名字和后面的单词混淆加{}
echo $abc 输出的是变量abc而不是1bc
#所以正确的写法是
echo ${a}bc

#**数组**
#定义
    $b=(1 2 3 4 5)     #一对括号表示是数组,数组元素用“空格”符号分割开
#得到长度
    ${#b[*]}          	#用${#数组名[@或*]} 可以得到数组长度
#取值
    echo ${b[2]}      	#用${数组名[下标]}获取值,下标是从0开始的
#赋值
    b[1]=10             #数组名[下标] 就可以对其进行引用赋值,如果下标不存在,新增加一个数组元素
#删除
    unset b[1]          #unset 数组[下标] 清除相应的元素

运算

a=1
b=2

# c=$a+$b ? 
c=$((a+b))

流程控制

if语句
#单个 if 分支 型
if [ expression ]; then
fi

两个分支 if-else 型
if [ expression ]; then
else
fi

多个分支 if-elseif-else 型
if [ expression1 ]; then
elif [ expression2 ]; then
fi



#判断目录是否存在
path="/home/game/"
if [ -d $path ]; then
    echo "Directory exists"
fi

# 注意:**[] 和 expression 前后必须要空格**
#更多 expression 可以通过命令 help test[help test]() 查看
exit
#退出脚本
    exit 0 
    exit 1
#0 1 表示状态值 0表示成功 1 表示失败
case
#$1匹配下面的字符串
case $1 in
    --lang) lang=$2;;
    *) break;; # *号匹配任何参数 判断非法的输入
esac
while

while ...; do
done

#输出数组a
a=(1 2 3 4 5)
i=0
while [ $i -lt ${#a[*]} ]; do
    echo ${a[$i]}
    i=$((i+1))
done
for
for var in ...; do
done

#输出数组a
a=(1 2 3 4 5)
for i in ${!a[*]}; do
    #echo ${a[$i]}
    printf "%d %d\n" $i ${a[$i]}
done

for var in ${a[*]}; do
    echo $var
done

自定义函数

sum()
{
    echo $(($1+$2))
}

sum 1 2

>输出 3

Back to TOC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值