zoukankan      html  css  js  c++  java
  • Linux变量

    变量:(大的分为环境变量与本的变量)

    本地变量

    本地变量在用户现在的shell生命期的脚本中使用。例如,本地变量file-name="loop.doc",这个值只在用户当前shell生命期有意义。
    如果在shell中启动另一个进程或退出,此值将无效。这个方法的优点就是用户不能对其他的shell或进程设置此变量有效。
    即只在当前shell中定义的变量。
    shell变量:定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关设置。如:EDITOR之类在.profile中定义的变量

    显示变量:echo ${file-name} #.{}为非必须
    清除变量:unset file-name
    查看所有变量:set
    variable-name:-value - 当variable-name没有设置时取value的值,否则取variable-name的值,不会将alue传给variable-name
    variable-name:=value - 当variable-name没有设置时将value的值赋给variable-name
    variable-name:?"variable not set" - 当variable-name没有设置时,显示未定义的用户错误信息,错误提示可以自己定义
    设置变量只读:readonly variable-name
    查看所有只读变量:readonly

    环境变量
    环境变量用于所有用户进程(经常称为子进程) 。登录进程称为父进程。shell中执行的用
    户进程均称为子进程。不像本地变量(只用于现在的shell)环境变量可用于所有子进程,这
    包括编辑器、脚本和应用。

    环境变量的设置:(环境变量一般大写)
    TEST_VAR=value;export value
    或者
    TEST_VAR=value
    export value
    或者
    export TEST_VAR=value

    本的变量或者环境变量如果长期使用都可以写在.profile或者/etc/profile中以方便当另一个shell使用时设置初始值。
    每个shell对变量的更改是不影响另一个shell的。
    查看所有环境变量:env、export
    清除环境变量:unset varibale_name ,清除环境变量以后,该环境变量对接下来的子进程均无效了

    嵌入shell变量:Brourne shell 有一些预留的环境变量名,这些变量名不能用作其他用途。
    嵌入shell变量列表:
    CDPATH - 作用于cd命令,如果设置了CDPATH,当执行cd命令时,会首先从CDPATH下查找,如果没有再查找当前目录,多个路径用:隔开(:/home/test:/home/tiny/bin)
    EXINIT - vi编辑器的初始化选项
    HOME - 定位于passwd的倒数第二列的值
    IFS - 指定shell缺省的分隔符,在分隔文件或变量中各域时很有用。
    LOGNAME - 登录名
    MAIL - MAIL变量保存邮箱路径名
    MAILCHECK -缺省每6 0 s检查新邮件,但如果不想如此频繁检查新邮件,比如设为每 2 m,
    MAILPATH - 如果有多个邮箱要用到MAILPATH,此变量设置将覆盖MAIL设置。
    PATH - PATH变量保存进行命令或脚本查找的目录顺序,正确排列这个次序很重要,可以在执行命令时节省时间
    PS1 - 基本提示符包含shell提示符,缺省对超级用户为 #,其他为$
    PS2 - P S 2为附属提示符,缺省为符号>
    SHELL - SHELL变量保存缺省shell,通常在/etc/passwd中已设置
    TERMINFO - 终端初始化变量保存终端配置文件的位置
    ERM - TERM变量保存终端类型
    TZ - 时区变量保存时区值,只有系统管理员才可以更改此设置
    其他一些默认缺省的:
    EDITOR
    PWD
    MANPAGE
    PAGER
    LPDEST/PRINTER

    将变量导出到子进程:export
    在脚本a中:father=script1;export father
    在脚本b中:echo $father
    当在a中调用b时(b是a创建的子进程),如果没有没有export father则将输出空值,否则输出script1


    两种特殊的只读变量:
    位置变量:(参数位置),目前最多$0~$9,$0是脚本本身名字,其余依次是脚本的参数
    特定变量
    $# 传递到脚本的参数个数
    $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
    $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个
    $$ 脚本运行的当前进程I D号
    $! 后台运行的最后一个进程的进程I D号
    $- 显示s h e l l使用的当前选项,与s e t命令功能相同
    $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

    如果我能一直坚持下去,就像坚持当初的梦想一样,或许我也能成为大神呢,哈哈哈。
  • 相关阅读:
    HTML 标题
    HTML 属性
    点云配准的端到端深度神经网络:ICCV2019论文解读
    人脸真伪验证与识别:ICCV2019论文解析
    人体姿态和形状估计的视频推理:CVPR2020论文解析
    FPGA最全科普总结
    深度人脸识别:CVPR2020论文要点
    视频教学动作修饰语:CVPR2020论文解析
    分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
    慢镜头变焦:视频超分辨率:CVPR2020论文解析
  • 原文地址:https://www.cnblogs.com/faraway-tiny/p/4914873.html
Copyright © 2011-2022 走看看