Shell编程之变量

Posted wjf0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程之变量相关的知识,希望对你有一定的参考价值。

  • Shell基础

    • Shell是什么
      • Shell是一个命令行解释器
      • Shell还是一个功能相当强大的编程语言,在Shell中可以直接调用linux命令
    • 脚本执行的方式
      • 赋予执行权限,直接运行
        • chmod 755 hello.sh
        • ./hello.sh
      • 通过Bash调用执行脚本
        • bash hello.sh
    • 输出重定向
      • 命令 > 文件
      • 以覆盖的方式,把命令的正确输出输出到指定的文件中
      • 命令 >> 文件
      • 以追加的方式,把命令的正确输出输出到指定的文件中
    • 多命令之间的顺序执行
      • 命令1 ; 命令2
      • 多个命令顺序执行,命令之间没有任何逻辑联系
      • 命令1 && 命令2
      • 命令1正确执行,则命令2才会执行
      • 命令1执行不正确,则命令2不会执行
      • 命令1 || 命令2
      • 命令1执行不正确,则命令2才会执行
      • 命令1正确执行,则命令2不会执行
    • 管道符
      • 命令1 | 命令2
  • Shell编程之变量

    • 变量命令规则
      • 变量名必须以字母或下划线打头,名字中间只能由字母,数字和下划线组成
      • 在Bash中,变量的默认类型都是字符串型
    • 变量的分类
      • 用户自定义变量: 变量自定义的
      • 环境变量: 和系统操作环境相关的数据变量
      • 位置参数变量: 用来向脚本中传递参数的
      • 预定义变量: 是Bash中已经定义好的变量,变量不能自定义,变量作用也是固定的
    • 定义变量
      • 变量名=变量值
        • x=5
        • name="Jeff Wang"
      • 等号左右两边是不允许有空格的,有空格的话,系统会认为这是一个命令
      • 如果变量中有空格,一定要括双引号或单引号
    • 变量调用
      • echo $变量名
        • echo $x
        • echo $name
    • 变量叠加
      • x=123
      • x="$x"456
      • x=${x}789
    • 变量查看
      • set -u
      • 如果设定此选项,调用未声明变量时会报错(默认无任何提示)
    • 变量删除
      • unset 变量名
      • 要注意变量名是没有$的
        • unset x
        • unset name
    • 环境变量
      • 环境变量与用户自定义变量最主要的区别在于,环境变量是全局变量,而用户自定义变量是局部变量
      • 变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的
    • 设置环境变量
      • export 变量名=变量值
      • 变量名=变量值
      • export 变量名
    • 查看环境变量
      • set
        • 查看所有变量
      • env
        • 查看环境变量
    • 常用环境变量
      • SHELL: 当前的shell
      • TERM: 终端环境
      • HISTSIZE: 历史命令条数
      • SSH_CLIENT: 当前操作环境是用ssh连接的,这里记录客户端ip
      • SSH_TTY: ssh连接时的终端
    • PATH环境变量
      • PATH变量: 系统查找命令的路径
      • echo $PATH
      • PATH="$PATH":/root/sh
        • 增加PATH变量的值
    • PS1环境变量
      • PS1变量: 命令提示符设置
        • \u: 显示当前用户名
        • \w: 显示当前所在目录的完整名称
        • []\u[]@[]\h[]:[]\w[]$
      • ls
        • 换行,命令太长没有输完的情况
    • 位置参数变量
    • 预定义变量
      • $?
      • $$
      • $!
    • 可使用man bash来查询位置参数变量和预定义变量的作用
    • 接收键盘输入
      • read [选项] [变量名]
  • 环境变量配置文件
    • source 配置文件
    • . 配置文件
      • 注意点和配置文件之间有空格,这里点就相当于source
    • 修改配置文件后,必须注销重新登录才能生效,使用source命令可以不用重新登录
    • 配置文件简介
      • /etc/profile
      • /etc/profile.d/*.sh
      • ~/.bashrc
      • /etc/bashrc
      • 具体不同的系统文件名可能不同,但应该就是这几个位置
      • 你应该可以大致看懂这些shell script

以上是关于Shell编程之变量的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程之变量

linux之shell编程

shell编程

shell编程之常用系统变量自定义变量特殊变量运算符

shell编程之变量定义

shell编程之变量定义