变量,环境变量,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变量的值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯言甚善

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值