zoukankan      html  css  js  c++  java
  • Shell

    示例脚本及注释

    
    #!/bin/bash
    
    v1=test-variable_123 # 全局变量
    v2=12345
    v3='This is a test!' # 赋值语句使用单引号或双引号可以包含空格
    v4="Test again!"
    
    testfun()
    {
    local v5=67890 # 局部变量
    echo "局部变量:" $v5
    }
    
    echo $v1 # “$<变量名>”方式使用变量
    echo $v2
    echo $v3
    echo ${v4}v4 # “${<变量名>}”方式使用变量,使用{}可以帮助解释器识别变量边界
    
    testfun #调用自定义函数
    
    v6="run unset sample"
    echo "取消变量之前:" $v6
    unset v6 # 取消自定义变量 
    echo "取消变量之后:" $v6
    
    echo '$(命令): ' $(date) # 返回命令执行后所输出的结果
    echo '$((算术表达式)): ' $((20+3*3)) # 返回双括号内算术运算的结果
    
    echo "双引号括起来的变量:$v3"
    echo '单引号括起来的变量:$v3'
    
    
    
    
    
    #   ### 变量(Variable)
    #   - Shell变量只有字符串类型。
    #   - Shell变量名称与变量值没有长度限制。
    #   - 利用系统已定义的环境变量(特殊变量和环境变量),可以简洁高效地获取特定信息。
    #   
    #   ### 变量分类
    #   - 自定义变量
    #   - 特殊变量
    #   - 环境变量
    #   
    #   
    #   ### 自定义变量类型
    #   - 局部变量:使用local修饰符,代码块或函数内可见。
    #   - 全局变量:不适用任何修饰符,全局范围可见。
    #   - 只读变量: 使用readonly命令来修饰,变量的值不能被改变。
    #   
    #   
    #   ### 自定义变量
    #   定义形式:<变量名>=<赋值语句>
    #   注意:
    #   - “=”两边不能加空格;如果赋值语句包含空格时,必须使用单引号或双引号。
    #   - 使用readonly命令来修饰的自定义变量,变量的值不能被改变。
    #   - 已定义赋值的变量,可以被重新定义赋值;
    #   变量名规则:
    #   - 首个字符必须为字母(a-z,A-Z)。
    #   - 中间不能有空格,可以使用下划线(_)。
    #   - 不能使用标点符号。
    #   - 不能使用bash里的关键字(可用help命令查看保留关键字)。
    #   生命周期:
    #   - 定义的变量只存在于Shell脚本运行期间,脚本结束后,变量也就自动消失。
    #   - 可以通过export命令将定义的变量共享给同一个shell的其他程序使用。
    #   - 如果想让自定义变量永久生效,需要修改配置文件(对所有用户生效的/etc/profile文件,或者,对单一用户生效的用户目录下的.bash_profile文件)。
    #   
    #   
    #   ### 取消自定义变量
    #   取消形式:unset <变量名>
    #   
    #   
    #   ### 常用特殊变量
    #   $0  当前shell脚本的名称
    #   $n  当前shell脚本的第n个参数,$1是第一个参数,$2是第二个参数,${10}是第十个参数
    #   $*  当前shell脚本的所有参数(不包括脚本本身)
    #   $#  当前shell脚本的参数个数(不包括脚本本身)
    #   $$  当前shell脚本的PID
    #   $?  上一个指令的返回值
    #   
    #   $(命令)  返回命令执行后所输出的结果
    #   $((算术表达式))  返回双括号内算术运算的结果
    #   
    #   
    #   ### 常用环境变量
    #   - 使用env或export命令获取当前常用的环境变量。
    #   - 使用“set |grep ^[a-Z] |grep [=]”命令显示当前所有变量(包括自定义变量和环境变量)。
    #   
    #   
    #   ### 使用变量
    #   使用形式:$<变量名>
    #   或者,${<变量名>},使用{}可以帮助解释器识别变量边界,非必须但推荐。
    #   
    #   
    #   ### 特别注意
    #   - 双引号:可以有变量(会发生变量替换);可以出现转义字符;可以嵌套双引号;
    #   - 单引号:原样输出任何字符;不会发生变量替换;不能嵌套单引号;
    #   - 反引号:位于键盘的Tab键的上方、数字1键的左方,具备命令替换的作用;
    
    
  • 相关阅读:
    Kindeditor 代码审计
    tamper参数
    大学站注入点(安全狗)
    sqlmap注入小结
    tamper绕WAF详解
    网站安全狗最新版绕过测试
    大学站防SQL注入代码(ASP版)
    防SQL注入代码(ASP版)
    xss利用和检测平台
    tamper绕WAF小结
  • 原文地址:https://www.cnblogs.com/anliven/p/7360626.html
Copyright © 2011-2022 走看看