• Shell变量


    变量名和等号之间不能有空格。同时,变量名的命名须遵循如下规则:
    首个字符必须为字母(a-z,A-Z)。
    中间不能有空格,可以使用下划线(_)。
    不能使用标点符号。
    不能使用bash里的关键字(可用help命令查看保留关键字)。

    vim test2.sh

    tool="Shell" #定义变量
    echo ${tool} #使用变量
    
    tool="Linux" #重新定义变量
    echo ${tool}
    
    readonly tool2="spark"
    echo ${tool2}
    
    unset tool #删除变量


    $ sh test2.sh
    Shell
    Linux
    spark

     

    特殊变量列表
    变量含义
    $0 当前脚本的文件名
    $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
    $# 传递给脚本或函数的参数个数。
    $* 传递给脚本或函数的所有参数。
    $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
    $? 上个命令的退出状态,或函数的返回值。可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果。退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1。
    $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

     

     

    vim test3.sh

    #!/bin/bash
    echo "当前脚本的文件名: $0"
    echo "第一个参数 : $1"
    echo "第二个参数 : $2"
    echo "参数: $@"
    echo "参数: $*"
    echo "参数个数 : $#"
    

      

    $ sh test3.sh Spark Scala
    当前脚本的文件名: test3.sh
    第一个参数 : Spark
    第二个参数 : Scala
    参数: Spark Scala
    参数: Spark Scala
    参数个数 : 2

  • 相关阅读:
    docker镜像制作及上传到远端镜像仓库
    mysql索引进阶
    电子商务需要用到香港服务器吗?
    golang module goland 配置代理
    nginx做linux服务时,日志有权限提示没权限(nginx: [emerg] open() "/home/www/log/error.log" failed)
    Yaml 、Json 、Dict 之间的转化
    CodeSmith .NET三层架构模板
    C#获取26个英文字母
    基于PCASClass.js和layui.js的城市三级联动
    MySQL变量的使用
  • 原文地址:https://www.cnblogs.com/wwxbi/p/6160522.html
Copyright © 2020-2023  润新知