变量分为“一般变量”和"环境变量"。一般变量(局部变量)仅在本shell可用。环境变量(全局变量)在本shell和子shell均有效。“export 变量" 就变成环境变量了
1、linux系统设置环境变量的配置文件
1、/etc/profile
2、/etc/environment
3、~/.profile
4、~/.bashrc
/etc下的两个配置文件是全局性质的,对所有用户起作用;而~/下的两个文件是对当前用户起作用的;一般情况下~/.bashrc中添加修改环境变量就行,然后source ~/.bashrc一下,其他几个配置文件尽量不要改动
2、显示linux的变量内容

echo $变量名    #  $表示后面是变量
#或echo ${变量名}
#如下
wfq@wfq:~$ echo ${HOME}
/home/wfq

3、设置变量

  1. 系统自带变量为区别于自定义的变量,一般都是全大写,如PATH,HOME等

  2. 变量设置,用“=” 如:

     wfq@wfq:~$ myname=Bob
    
  3. 双引号保留原来特殊字符如$的含义,单引号不保留:

    wfq@wfq:~$ myname=Bob
    wfq@wfq:~$ var="my name is $myname"
    wfq@wfq:~$ echo $var
    my name is Bob 
    
    wfq@wfq:~$ myname=Bob
    wfq@wfq:~$ var='my name is $myname'
    wfq@wfq:~$ echo ${var}
    my name is $myname
    
  4. 为变量扩增内容,用${变量名}“$变量名",如:
    (因为变量内容之间本来就是用:隔开的,所以${变量}:就是在原有内容上加一项

     PATH=${PATH}:/home/bin  #常用,记得
     PATH="$PATH":/home/bin
    
  5. 把一般变量设置成环境变量

    export var
    
  6. 取消变量

     unset var
    
  7. 修改变量内容

变量设置方式说明
${变量#关键字}(#)若变量内容从头开始的数据符合[关键字],则将符合的最短数据删除
${变量##关键字}(##)若变量内容从头开始的数据符合[关键字],则将符合的最长数据删除
${变量%关键字}(%)若变量内容从尾开始的数据符合[关键字],则将符合的最短数据删除
${变量%%关键字}(%%)若变量内容从尾开始的数据符合[关键字],则将符合的最长数据删除
${变量/旧字符串/新字符串}(/…/…)将变量内容符合[旧字符串]的第一个替换为[新字符串]
${变量//旧字符串/新字符串}(//…/…)将变量内容符合[旧字符串]的所有的替换为[新字符串]

案例

wfq@wfq:~$ var=${PKG_CONFIG_PATH}
wfq@wfq:~$ echo ${var}
/home/wfq/catkin_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var#/*pkg*:}  #   从最前开始删,尽量往短了删,删满足/*pkg*:形式的
/opt/ros/melodic/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var##/*pkg*:} #   从最前开始删,尽量往长了删
/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var%:*}       #   从最后往前删,尽量往短了删
/home/wfq/catkin_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig:/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var%%:/usr*}  #   从最后往前删,尽量往长了删
/home/wfq/catkin_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig
wfq@wfq:~$ echo ${var}
/home/wfq/catkin_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var/devel/DEVEL}   #替换一个
/home/wfq/catkin_ws/DEVEL/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib/pkgconfig
wfq@wfq:~$ echo ${var//pkgconfig/PKGCONFIGGGG}   #替换所有
/home/wfq/catkin_ws/devel/lib/PKGCONFIGGGG:/opt/ros/melodic/lib/PKGCONFIGGGG:/usr/local/lib/PKGCONFIGGGG:/usr/local/lib/PKGCONFIGGGG

  1. 查看默认的环境变量
    1、env命令,查看环境变量
    2、set命令,查看所有变量,包括环境变量和一般自定义变量
    2、export命令,不加参数

  2. 命令别名,取消别名
    alias命令,例如

     alias lm='ls -al | more'
    

    unalias取消别名,如

    unalias lm
    
  3. history 显示历史命令

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐