zoukankan      html  css  js  c++  java
  • 第二十二节 shell变量

    变量设置规则:
    区分大小写
    字母、数字、下划线组成,不能数字开头,环境变量大写,便于quf
    bash中变量默认类型是字符串型
    变量用等号连接,等号左右不能有空格
    变量的值如果有空格,用引号引起来
    可用set查看所有变量


    变量分类:用户自定义变量、环境变量、位置参数变量、预定义变量,可以通过set命令查看系统中所有存在的变量
    位置参数变量:主要用来向脚本中传递参数或者书籍,变量名不能自定义,变量作用固定
    预定义变量:bash已经定义好的变量,相当于关键字变量

    aa=`ll -a`
    echo $aa 相当于执行 ll -a 命令
    bb=$(ll -a)
    echo $bb 相当于执行 ll -a 命令

    aa=`expr 4 + 5`
    输出9
    bb=$((4+5))
    输出9

    aa=` expr \` expr 4 + 5 \` * 6 `
    输出54
    bb=$(((4+5)*6))
    输出54

    变量叠加:
    单引号和双引号的区别:单引号会将所有特殊字符脱意,其中"$aa"和${aa}效果相同
    aa=123
    bb='$aa'123
    输出$aa123
    cc="$aa"123
    输出123123
    dd=${aa}123
    输出123123

    删除变量
    unset name
    定义静态变量:readonly B=2 ,静态变量只读,不可用unset删除

    环境变量定义
    export 变量名=变量值
    作用域:当前shell已经所有shell的子shell

    位置参数
    $n n表示数字,$0代表命令本身 $1-$9表示第一到第九个参数,十个以上用${10}
    $* 代表命令行中的所有参数,把所有参数写成一个整体'a d f g'
    $@ 代表命令行中的所有参数, 把每个参数区分对待 "a" "d" "f" "g"
    $# 参数的个数

    first.sh
    #!/bin/bash
    echo $4
    命令:source first.sh a b c f
    输出:f(第四个参数)

    预定义变量
    $? 执行上一个命令的返回值 执行成功返回0,失败非0
    $$ 当前进程的进程id(pid),即当前脚本执行时生成的进程号
    $! 后台运行的最后一个进程号,最近一个被放入后台执行的进行 &

    source first.sh a b g h : echo $? 查看source first.sh a b g h是否执行完成,:是连接两个命令的意思

  • 相关阅读:
    面向对象的分析与设计
    Django的ORM补充
    JDBC数据库连接池
    Python 中的深浅拷贝
    智能机系统分析
    hyperf框架学习
    HTTP协议知识
    百度知道有关php抓取问题
    awk之FS的指定
    从DELPHI到JAVA[delphi]
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12410219.html
Copyright © 2011-2022 走看看