shell脚本基础----变量

  • 1.1shell的定义

    1.命令的堆积
    2.特定的语法与特定的命令组成的文件

    执行脚本命令

    bash   test.sh   不需要添加执行权限,使用解释器直接解释
    sh    tesh.sh
    ./tesh.sh     相对路径,需要添加执行权限
  • 1.2shell脚本基础---变量

    变量:用一个固定的字符串表示不固定的内容
    变量名称注意事项

    1.不能以数字开头(包含字母、数字、下划线)
    2.不能使用程序中的保留字(例如:if   for)
    3.不能跟系统中已有的环境变量重名(尽量不要全部使用大写,尽量不要用‘_’下划线开头)
    4.见名知义

    变量类型

        "字符型"     例如:a=abc
        "数字型"       整型      浮点型,例如:a=1.1
        "布尔型“(是否)   true   false

    变量操作

    设置变量
    引用变量

    $变量名
    ${变量名}

    **bash特性**
          "反斜杠    \   使反斜杠后面的一个变量变为字符串"
         "单引号      ’   转义其中所有的变量为单纯的字符串"
         "双引号    ""    保留其中的变量属性,不进行转义处理"
         "反引号    ``     把其中放入命令执行后返回结果"
    撤销变量(unset  a  作用范围:仅在当前shell中有效)
    

    bash变量类型

    环境变量

    export     作用域为当前shell进程及其子进程
    

    本地变量(局部变量)

    "Var_name=valuue"  本地变量,作用域为当前shell进程。对当前shell外的其他shell进程,包括当前shell的父shell,子shell进程均无效
    "Local  var_name=value"   局部变量,作用域为当前代码段,常用于函数

    位置变量

    $1,$2    用于引用脚本的参数
    shirt      依此向前推进

    特殊变量(bash内置的,用来保存某些特殊数据的变量,也称系统变量)

    "$#        是传给脚本的参数的个数"
    "$0         是脚本本身的名字"
    "$!          是shell最后运行的后台Process的PID"
    "[email protected]        是传给脚本的所有参数的列表"
    "$*          是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个"
    "$$         是脚本运行的当前进程ID号 "
    "$?         是显示上条命令的退出状态,0表示没有错误,其他表示有错误"
    

    bash内建环境变量

    "[[email protected] ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    
    [[email protected] ~]# echo $SHELL
    /bin/bash
    
    [[email protected] ~]# echo $UID
    0
    
    [[email protected] ~]# echo $HISTSIZE
    1000
    
    [[email protected] ~]# echo $HOME
    /root
    [[email protected] ~]# echo $PWD
    /root
    
    [[email protected] ~]# echo $HISTFILE
    /root/.bash_history
    
    [[email protected] ~]# echo $PS1
    [\[email protected]\h \W]\$ "
    

    只读变量

       readonly   不能修改值,不能销毁,只能等shell进程

    脚本基础
    定义:按实际需求,结合命令流程控制机制实现的源程序
    程序返回值

    程序执行的结果
    程序状态返回代码(0-255)
    0:正确执行
    1-255:错误执行,1、2、127系统预留,有特殊意义
    

    脚本测试

    bash -n test.sh     检查脚本是否有语法错误
    bash  -x  test.sh    单步执行,检查脚本错在那里
    

    写脚本注意事项

    禁止将未成功执行过的代码直接写进脚本
    脚本中的命令一定要用绝对路径

    shell算术运算

    A=3
    B=6
    let  C=$A+$B   表达式
    C=$[$A+$B]    表达式
    C=(($A+$B))    表达式
    C=` expr  $A   + $B `  算术运算表达式,表达式各操作及运算符之间要有空格,而且要使用命令引用   

    原文地址:http://blog.51cto.com/13835001/2153303

    时间: 2024-10-08 04:29:14

    shell脚本基础----变量的相关文章

    linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

    Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双

    shell脚本基础、变量

    shell脚本基础 知识要点 掌握Shell脚本的基础知识 学会使用Shell变量 学会编写简单的Shell脚本 Shell脚本的应用环境 学习shell脚本的基本流程 看.想.写 shell脚本用在什么地方 编写常用系统维护工具菜单 重要的性能参数.进程和日志分析 自动实现数据备份计划 自动批量搭建特定系统环境 防火墙自动配置脚本 服务器的配置文件安全比对 对批量设备进行远程巡检 Shell脚本的组成元素 shell脚本的基本组成 声明和注释* 系统命令 文本处理工具(grep.cut.sed

    关于shell脚本基础编程第四篇

    shell脚本基础编程第四篇本章主要内容:函数 函数 function:             function 名称 { 命令 ; } 或 name () { 命令 ; }           定义 shell 函数.               创建一个以 NAME 为名的 shell 函数.当作为一个简单的命令启用时,           NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令.当 NAME           被启用时,参数作为 $1...$n 被传递

    Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

    Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

    shell脚本基础学习(转)

    看到别人的学习总结,觉得不错转了过来(转自TryFly) 一.shell脚本基础 ? ?shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正则表达式,管道命令以及重定向向等功能,以达到我们所想要的处理目的.它的基本用途有: 1.自动化常用命令 2.执行系统管理和故障排除 3.创建简单的应用程序 4.处理文本或文件 ... 二.创建shell脚本 第一步.使用文本编辑器来创建文本文件 第一行必须包括shell 声明序列:#!

    shell脚本基础进阶(四)----作业

    20150913-15作业 1.描述shell程序的运行原理(可附带必要的图形说明) shell脚本基础进阶(一)----shell介绍 2.总结shell编程中所涉及到的所有知识点(如:变量.语法.命令状态等等等,要带图的哟) shell脚本基础进阶(二)----变量及运算符 3.总结课程所讲的所有循环语句.条件判断的使用方法及其相关示例:(if (jpg|png is not exist):echo "You say a XX") shell脚本基础进阶(三)----流程控制语句

    Linux运维之道之ENGINEER1.4(shell脚本基础)

    ENGINEER1.4 SHELL脚本基础 认识shell环境 bash shell的使用方式 交互式: --人工干预,智能化程度高 --逐条解释执行,效率低 非交互式: --需要提前设计,智能化难度大: --批量执行,效率高: --方便在后台及悄悄地执行: 什么是shell脚本:提前设计可执行语句,用来完成特定任务的文件 --解释型程序 --顺序,批量执行 规范shell脚本的一般组成: #!环境声明 #注释文本 可执行代码 ----------------------------------

    续写vim,shell脚本基础编辑,read命令,if与case判断语句,文件查找方式,压缩与解压,

    一. Vim续写 ?1.命令扩展模式的位置定界 ??起始位置 cmd 终止位置???Cmd:????y复制????d删除????Gu变大写????gu变小写??例如:0y$命令意味着:????0 先到行头????Y 从这里开始拷贝????$ 拷贝到本行行尾最后一个字符????Ye 从当前位置拷贝到本单词的最后一个字符 ?2.扩展命令模式:地址定界 ? ?# 具体第#行,? ?#1,#2 从开头数第#1行到第#2行? ?#1,+#2 从开头数的第#1行到从第#1行开始数的第#2行? ? ?例:2,