zoukankan      html  css  js  c++  java
  • 【shell】Shell变量基础及深入

    1. 什么是变量 

    变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容。

    变量的定义是存在内存中。

    x=1
    y=2

    2. 变量类型 

    变量分为两类:

    • 环境变量(也可称为全局变量);可以在创建他们的Shell及派生出来的子shell中使用。环境变量又可以分为自定义环境变量bash内置的环境变量
    • 局部变量(普通变量):只能在创建他们的shell函数或shell脚本中使用,还记得前面的$user 我们创建的一般都是普通变量。

    2.1 环境变量(全局变量) 

    • 环境变量用于定义Shell的运行环境,保证Shell命令的正确执行,
      • Shell通过环境变量来确定登录用户名,命令路径,终端类型,登录目录等,
      • 所有的环境变量都是全局变量,可用于所有子进程中,包括编辑器,shell脚本和各类应用。
      • crond计划任务除外,还需要重新定义环境变量
    • 环境变量可以在命令行中设置,但用户退出时这些变量值也会丢失,
      • 因此最好在用户家目录下的.bash_profile文件中或全局配置/etc/bashrc,/etc/profile文件或者/etc/profile.d/目录中定义。
      • 将环境变量放入profile文件中,每次用户登录时这些变量值都将被初始化。
    • 通常,所有环境变量均为大写。
    • 环境变量应用于用户进程前,都应该用export命令导出。
      • 例如:export chensiqi=1
    • 有一些环境变量,比如HOME,PATH,SHELL,UID,USER等,在用户登录之前就已经被/bin/login程序设置好了。
    • 通常环境变量定义并保存在用户家目录下的.bash_profile或/etc/profile文件中。
     

    示例: 

    1. 之前shell脚本中直接使用的$UID

  • 相关阅读:
    JDK的KeyTool和KeyStore等加密相关
    关于分布式事务的随笔[待续]
    Netty实例几则
    Disruptor快速入门
    Java获取系统环境信息
    JDK的BIO, NIO, AIO
    四种常用IO模型
    JDK的多线程与并发库
    递归转换为迭代的一种通用方式
    二叉树的java实现
  • 原文地址:https://www.cnblogs.com/zoe233/p/11959923.html
Copyright © 2011-2022 走看看