zoukankan      html  css  js  c++  java
  • shell 二

    shell语法:
    数据类型 :字符串string
    创建变量: 全局变量-----环境变量 export就是全局变量 unset就可以把这个全局删除
    局部变量-----本地变量
    VAR=10 shell字符串也是有效的,等号左边和右边构成shell,所以空格要小心

    $变量名字:取变量的值
    $(变量名字):取变量的值
    $(命令):取命令的结果
    $((10+5)):取计算的结果
    $((2#10+3)):表示二进制的10加上3

    函数:
    面向对象:
    框架(python中叫做库):




    文件名代替
    * ls *.sh
    ? ls ????.sh
    [] ls [1-9][absd].sh
    命令代换符
    " ` "反引号和$是一样的效果都是先执行该命令

    单引号 括字符串--不能展开变量
    双引号--括字符串可以将变量展开


    整数判别符 test 或 [
    -eq 等于 只能用于整数之间,对比成功表示正常运行返回0,错误返回1
    -qt大于
    -lt小于
    -qe大于等于
    -le小于等于


    SHELL 中的特殊变量
    $? 表示上一个命令退出的状态
    $$ 表示当前进程编号
    $0 表示当前脚本名称
    $n 表示位置变量(n代表数字,n>=1)
    $# 表示变量的个数,常用于循环
    $*和$@ 表示参数列表
    $*和$@区别,两者都表示传递给函数或脚本的所有参数,不被双引号包含时都以$1 $2 $3 $4...$n输出(参数输入空格隔开)
    不同点:当他们倍双引号包含时,"$*"会将所有的参数作为一个整体,以"$1 $2 $3 $4...$n"
    而$@会将各个参数分开,以$1 $2 $3 $4...$n输出


    for循环
    第一种
    for N in 1 2 3
    do
    echo $N
    done
    或for N in 1 2 3;do echo $N;done 或者for N in {1..3};do echo $N;done

    第二种
    for((i=0;i<=5;i++))
    do
    echo "welcome $i time"
    done


    while循环
    第一种
    while True
    do
    echo $N
    done

    第二种
    VAR=1
    while((VAR<=3))
    do
    echo "welcome $VAR time"
    let VAR++
    done


    case语句
    格式
    case $1 in
    start)
    echo "starting"
    ;;
    *)
    echo "Usage:{start | stop}"
    esac

    if判断
    语法
    if condition
    then
    .........
    [elif xxxx
    then ........]
    [else
    .........]
    fi


    交互 read
    read -p "please input your name." NAME
    if[ $NAME = root]
    then
    ..........
    elif[$NAME=bookfar]
    then
    .........
    else
    ........
    fi

  • 相关阅读:
    程序员必备工具之Cmder
    Markdown简明教程
    几种黑灰名词解释
    windows下 mysql启动错误1067进程意外终止
    Mac OS 安装redis
    java里的这些
    maven 两条命令建立 web项目
    判断StringBuilder是否为空
    map与list的交集、补集操作
    关于创业
  • 原文地址:https://www.cnblogs.com/BookMiki/p/14261220.html
Copyright © 2011-2022 走看看