• 变量赋值


    变量赋值虽然简单但也有很多需要注意的地方下面是一下我从书中整理出的注意点:

    1. 一定不要在赋值前后有空格

    VARIABLE =value 脚本将尝试运行一个“VARIABLE"的命令带着一个“=value"参数

    VARIABLE= value 脚本将尝试运行一个“value"的命令,带着一个被赋值成“”值的环境变量“VARIABLE".

    2.有无引用的区别

    hello="AB  C      D"

    echo $hello  输出ABCD

    echo “$hello“ 输出AB  C      D

    echo '$hello' 输出$hello

    引用一个变量讲保留其中的空白,全引用将导致‘$’变成一个单独的字符

    3.使用$(...) 机制进行变量赋值,事实上,这是命令替换的一种形式

    R=$(cat /ect/hllo.c)

    4. 变量都是无类型的

    5.特殊变量:$0是脚本的名字,$1是第一个参数,$2是第二个参数依次类推,到10以后要加大括号${10}

    $#是传到脚本里的位置参数的个数

     $PWD 工作目录(当前所在目录)

    $REPLY如果read命令如果没有给出变量,那么输入将保存在$REPLY中

    $SECONDS 这个脚本已经执行的时间,单位为秒

    $UID 用户ID号

    $* 所有的位置参数,被作为一个单词 ,必须被“”引用

    $@ 与$*相同,但是每个参数都是一个读了的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展,也意味着每个参数列表中的每个参数都被当成一个独立的单词。

    $! 在后台运行的最后的工作的PID

    $_ 保存之前执行的命令的最后一个参数

    $? 命令,函数或者脚本本身的退出状态

    $$ 脚本本身的进程ID

    ${#var} 讲给出字符串长度, ${#array}是数组中的第一个元素的长度

    ${#array[*]}和${#array[@]}讲给出数组元素的个数

    ${#*} 和${#@}将给出位置参数的个数

  • 相关阅读:
    安卓数据存储(3):SQLite数据库存储
    安卓活动间的传值问题
    JavaScript、jQuery获取radio、checkbox选中的值
    无法连接到VSS资源数据库
    JQuery自定义搜索控件
    UIAlertView使用
    Xcode使用git管理版本
    达乐居视频网前台页面的总结
    Spark环境搭建遇到的问题
    在IE中启动火狐——自定义浏览器链接协议
  • 原文地址:https://www.cnblogs.com/neverleave/p/2948883.html
Copyright © 2020-2023  润新知