zoukankan      html  css  js  c++  java
  • Shell编程变量

    shell变量

    什么是变量,存放了各种数据,在linux怎么定义了变量,name=ken,name就是变量名,ken就是变量值,

    但是在shell中,有三种方式:

    name=ken
    
    name='ken'
    
    name="ken"
    
    name="my name" #中间有空格的时候,需要加单引号或双引号。单纯的字符串,加不加单引号或双引号都可以。

    Shell 变量的命名规范和大部分编程语言都一样。

    变量名的定义

    变量名由数字、字母、下划线组成;

    必须以字母或者下划线开头;

    不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。

    使用变量

    echo $name

    也可以

    echo {$name}

    这是规范的方式,当跟其他字符连在一起的时候,用花括号区分变量,以便于显示变量。

    修改变量

    直接再定义就可以

    比如现在的 name=ken,我想 name=bobo,直接 name=boobo 即可。

    单引号和双引号的区别

    所见即所得,不解释变量

    ' '

    解释变量,获取变量的值

    " "

    把一个命令的执行结果赋值给一个变量

    ` `

    把一个命令的执行结果赋值给一个变量

    $() 

    删除变量(取消变量值)不能删除只读变量

    unset name

    比如设置只读变量

    readonly name=变量

    unset name是删除不掉的

    变量的分类

    局部变量

    定义一个ken=18 只在当前shell有效,只有在脚本或当前命令行中定义。当再打开一个终端或者打开一个bash也是不显示的,这就是局部变量。

    环境变量(全局生效,全部shell生效)

    vim /etc/profile.d/自定义.sh
    
    export name=变量

    而后同步

    source 自定义.sh

    这就设定好了全局变量。

    shell变量,特殊变量

    变量  含义

    $0  当前脚本的文件名
    
    $n  传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
    
    $#  传递给脚本或函数的参数个数。
    
    $*  传递给脚本或函数的所有参数。
    
    $?  上个命令的退出状态,或函数的返回值。 返回0是正确,返回其他数值都是错误。使用echo $?查看是否执行成功。
    
    $$  当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID

     条件表达式,就是判断

    [  expression  ] 表达式要有空格

    整数比较符

    -eq 代表 等于
    
    -ne 代标 不等于
    
    -gt  代表 大于
    
    -lt  代标 小于
    
    -ge  代表 大于等于
    
    -le   代表 小于等于

     字符串(判断字符串的时候一定要加双引号,在没有定义的变量进行判断时,不加双引号会出错)

    == 是等于
    
    != 是不等于
    
    -z 是变量为0为真
    
    -n 是变量不为空(就是0)才为真

     文件测试

    -e 文件或目录存在为真
    
    -f  文件存在为真
    
    -d  目录存在为真

    布尔运算符(只能适用于[   ])

    ! 代表 取反,就代表取相反的结果
    
    -a 代表 两个条件为真才为真
    
    -o 代表 两个有一个为真才为真

    逻辑判断符

    &&:前面命令正确才会执行后面的命令
    
    || :前面命令错误才会执行后面的命令

    整数运算

    运算符

    +
    
    -
    
    *
    
    / 这是除法,但是它是取整
    
    % 取余

    运算表达式

    $(())

    其他运算工具

    let++  是+1 他的默认就是1
    
    let+=4 是+4

    使用方法:

    let x+=1

    echo $x

    结果就是2

    再执行

    let x+=1

    echo $x

    结果就是3

    shell括号用途总结

    $() :执行shell命令
    
    ``:执行shell命令
    
    $(()):第一个用于简单数学运算,第二个支持三目运算符 
    
    [ ]:条件表达式,判断的时候用,里面不支持逻辑判断符
    
    ${}:用途一是引用变量的时候使用,用途二是对字符串处理
    
    {}:对立面的内容进行展开,必须是两个点,比如{1..10}
  • 相关阅读:
    宏信证券手机网上开户流程
    广州证券手机网上开户流程
    国海证券手机网上开户流程
    方正证券手机网上开户流程
    民生证券手机网上开户流程
    华安证券手机网上开户流程
    【CSS】position relative 用法
    Oracle常用内置数据表查询
    【java】基础语法
    【CSS】常见问题集锦
  • 原文地址:https://www.cnblogs.com/shuaiyin/p/10917084.html
Copyright © 2011-2022 走看看