SHELL NOTES

SHELL


变量


  • 条件赋值
    • ${v:-default} v定义则值为$v, 未定义则值为default
    • ${v:+default} 与上相反
    • ${v:?default} v已定义则值为$v, 未定义则输出default到strerr 并退出脚本
  • declare
    • i: 整数
    • f:输出指定函数定义,如不指定则输出先前定义的所有函数
    • a:数组
    • r:只读,同 readonly
    • x:导出变量,同 export
  • local
    函数内局部变量

数组


  • 数组定义
    arr=(elem1 elem2 ...)
  • 数组元素
    arr[n]
  • 数组元素个数
    ${#arr{*}}
  • 数组元素长度
    ${#arr[n]}
  • 数组遍历
     
    for e in ${arr[*]}
    do
    echo ${e}
    done
    for i in seq 0 $[${#arr[*]}-1]
    do
    echo ${arr[i]}
    done

控制语句


  • if
     
    if [ cond1 ]
    ...
    elif [ cond2 ]
    ...
    then
    ...
    fi
  • for

    for i in `seq 10`
    do
      ...
    done
    
    for((i=0; i < N; i++)) 
    do
      ...
    done
    
  • while

    while [ *cond* ]
    do
      ...
    done
    
  • case

    case *var*  in
      x|X)...
      ;;
      y|Y)...
      ;;
      *)
      ;;
    esac
    
    • 常规break后面加;;

    • 无条件继续后面加;&

    • 有条件继续后面加;;&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值