• 变量,环境变量,PATH变量


    变量

    # star=liudehua  定义变量star赋值为liudehua
    # echo $star   $符号接变量名就是引用这个变量的值
    liudehua  

    PATH变量

    变量的类型:

    • 环境变量
    • 局部变量
    • 全局变量

    定义变量:
    variable
    为什么要使用变量?
    答:方面使用,方便修改值

    PATH 是linux系统里的一个环境变量,系统已经定义好了,我们不需要再定义。

    作用:
    是linux里使用的命令都存在在PATH变量后面指定的目录下,我们使用命令的时候,bash会主动的到PATH变量的值对应的目录下查找,如果第1个目录里没有找到,就到第2个目录里找,如果都没有找到就报错,提醒用户没有这个命令,如果找到了,就执行这个命令。

    # echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    环境变量

    如何理解环境变量?
    将linux系统比喻成一个社会,里面的一些公共资源,例如空气、水、公交车、地铁、美食等都是变量,大家都使用。

    环境变量也全局变量,所有的程序都可以调用。
    系统里已经定义了,我们不需要自定义。

    • env 查看系统里的环境变量

    • set 查看系统里的变量(环境变量和自定义变量)

      自己定义的变量一般都是局部变量,其他shell里的程序不能调用,有范围的限制。

    alias
    unalias
    unset  取消变量
    # unset star  取消变量star
    set   
    env   --->environment

    有那些环境变量:

    # echo $PS1  定义了我们的提示符号的变量
    [u@h W]$          
    用户名、主机名、PS1、SHELL、PATH
    u  user
    h  hostname
    W  working directory
       su - lifeng  --》完全切换到新用户
       su lifeng    --》会保留一些上次使用时的环境变量

    区别:如果不接 - 号,系统会使用上一个用户的环境变量,如果接-号,相当于使用后面的用户的环境变量

    $ env    -----》查看有哪些环境变量
    HOSTNAME=teacher.sxkeji.com
    SHELL=/bin/bash
    TERM=xterm
    HISTSIZE=1000    
    PT5HOME=/usr/local/PacketTracer5
    QTDIR=/usr/lib/qt-3.3
    QTINC=/usr/lib/qt-3.3/include
    USER=lifeng
    MAIL=/var/spool/mail/lifeng
    PATH=/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/lifeng/bin
    PWD=/home/lifeng
    LANG=en_US.UTF-8
    SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
    HISTCONTROL=ignoredups
    SHLVL=1
    HOME=/home/lifeng
    LOGNAME=lifeng
    QTLIB=/usr/lib/qt-3.3/lib
    CVS_RSH=ssh
    LESSOPEN=|/usr/bin/lesspipe.sh %s
    DISPLAY=:6.0
    G_BROKEN_FILENAMES=1
    _=/bin/env

    验证:查找命令的时候是否真的到PATH变量指定的目录下去查找?

    1.新建hello.sh脚本文件
    # vim hello.sh
    #!/bin/bash
    echo "hello,world"
    
    # chmod +x hello.sh   授予hello.sh可执行权限   (execute)
    # ll hello.sh 
    -rwxr-xr-x 1 root root 32 125 09:36 hello.sh
    方法一:
    2.复制hello.sh到PATH变量指定的某个目录下
    # cp hello.sh   /usr/local/sbin/    复制到此目录下
    # which hello.sh            可以查找到
    /usr/local/sbin/hello.sh
    
    # hello.sh  直接执行
    hello,world
    方法二:
    此方式修改的PATH变量,临时有效,重启系统后失效。
    修改PATH变量的值,添加/lianxi路径
    
    修改PATH变量的值,让系统到我添加的目录下查找,就可以了
    # PATH=$PATH:/lianxi
    # echo $PATH
    # ll hello.sh 
    -rwxr-xr-x 1 root root 32 125 09:36 hello.sh
    
    # chmod +x hello.sh  授予可执行权限
    # chmod -x hello.sh   取消可执行权限

    两种方法小结

    1. 自己创建的脚本文件,放到PATH变量指定的路径里,并且授予其可执行权限,就可以执行运行;
    2. 修改PATH变量的值,添加相关的目录,但是脚本还是要具有可执行权限。

    永久修改PATH变量的值

    # vim /root/.bash_profile
    PATH=$PATH:$HOME/bin:/lianxi    --->添加:/lianxi
    export PATH   ----》输出PATH变量为全局变量(环境变量)
    PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    直接定义PATH变量的值
  • 相关阅读:
    ComboBoxEdit 数据绑定 使用模板
    ObservableCollection
    ListView.MouseDoubleClick
    Style 的查找 FindResource
    OpenFileDialog
    ItemsControl
    下拉框比较符
    ListView 控件与 内容
    测试oracle数据库连接
    MySQL ERROR 1300 (HY000): Invalid utf8 character string
  • 原文地址:https://www.cnblogs.com/lpeng94/p/12546509.html
Copyright © 2020-2023  润新知