• Linux 环境变量_006


      ***Linux 环境变量指系统运行程序或命令的能快速找到其位置等其它功能,不用输入复杂命令。以$PATH环境变量为例子,

    $PATH决定了shell指定寻找命令或程序的路径,比较执行ls命令,如果没有$PATH环境变量,执行ls命令需要绝对路径执行/bin/ls,

    如果设置了$PATH环境变量,只要执行ls命令就会自动执行。

      ***Linux环境变量分单一用户环境变量和系统全局用户环境变量,单一用户环境变量配置文件在用户家目录.bash_profile

    修改此配置文件只对当前用户生效,其它用户不会生效;系统全局用户环境变量是针对所有Linux的用户都生效,配置文件在/etc/profile

    Linux 两种办法修改环境变量:(以$PATH环境变量为例)

    准备测试文本:

    [root@oldboy ~]# echo $PATH       ##默认$PATH环境变量

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    [root@oldboy ~]# ls -l /tmp/test.sh   ##创建一个测试文本

    -rwxr-xr-x 1 root root 20 Nov 28 14:00 /tmp/test.sh

    [root@oldboy ~]# chmod +x test.sh   ##赋予文本可执行权限

    [root@oldboy ~]# /tmp/test.sh       ##测试文本运行显示

    You set OK!

    一、设置临时生效的环境变量,当用户退出登录或重启系统环境变量就恢复默认值

    [root@oldboy ~]# su - oldboy

    [oldboy@oldboy ~]$ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin

    [oldboy@oldboy ~]$ export PATH=$PATH:/tmp

    [oldboy@oldboy ~]$ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin:/tmp

    [oldboy@oldboy ~]$ test.sh

    You set OK!

    [oldboy@oldboy ~]$ su - root

    Password:

    [root@oldboy ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    [root@oldboy ~]# test.sh

    -bash: test.sh: command not found

    二、 设置永久生效的环境变量

    1、针对单一用户设置的环境变量

    [root@oldboy ~]# su - oldboy

    [oldboy@oldboy ~]$ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin

    [oldboy@oldboy ~]$ vim .bash_profile

    # .bash_profile

    # Get the aliases and functions

    if [ -f ~/.bashrc ]; then

           . ~/.bashrc

    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin:/tmp

    export PATH

    [oldboy@oldboy ~]$ source .bash_profile

    [oldboy@oldboy ~]$ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin:/home/oldboy/bin:/tmp

    [oldboy@oldboy ~]$ test.sh

    You set OK!

    2、针对系统全局用户设置的环境变量

    [oldboy@oldboy ~]$ ls -l /etc/profile

    -rw-r--r-- 1 root root 1820 Nov 27 16:35 /etc/profile

    [root@oldboy ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    [root@oldboy ~]# cp -a /etc/profile /root

    [root@oldboy ~]# echo "PATH=$PATH:/tmp" >> /etc/profile

    [root@oldboy ~]# grep "PATH=$PATH" /etc/profile

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

    [root@oldboy ~]# source /etc/profile

    [root@oldboy ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

    [root@oldboy ~]# test.sh

    You set OK!

    ******特殊的环境变量******

    1、PATH环境变量

    作用指定让命令自动搜索路径

    [root@oldboy ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

    2、PS1命令行提示符显示

    作用修改指定的用户命令行提示符显示

    [root@oldboy ~]echo $PS1

    [u@h w]

    [root@oldboy ~]export PS1='[u@h w ]'

    [root@oldboy ~14:47:13]echo $PS1

    [u@h w ]

    提示符

    功能描述

    u

    当前用户的账号名称 如:root

    h

    仅取主机的第一个名字,如上例,则为debian,.linux则被省略

    w

    完整的工作目录名称。家目录会以 ~代替 ,如cd /etc/sysconfig显示/etc/sysconfig

    W

    利用basename取得工作目录名称,所以只会列出最后一个目录 如上例则只显示sysconfig

    $

    提示字符,如果是root时,提示符为:# ,普通用户则为:$

    显示时间为24小时格式,如:HH:MM:SS

    T

    显示时间为12小时格式

    A

    显示时间为24小时格式:HH:MM

    v

    显示时间为24小时格式:HH:MM

    #

    下达的第几个命令

    d

    代表日期,格式为weekday month date,例如:Wed Dec 12

    H

    完整的主机名称。例如:hostname是debian.linux

    感谢老男孩博客提供参考  https://blog.51cto.com/oldboy

  • 相关阅读:
    20160227.CCPP体系详解(0037天)
    MinerUtil.java 爬虫工具类
    MinerUrl.java 解析页面后存储URL类
    MinerThreadPool.java 线程池
    MinerStoreThread.java 存储线程
    MinerQueue.java 访问队列
    MinerMonitorThread.java 监控线程
    MinerHtmlThread.java 爬取页面线程
    上班跟打DotA感觉差不多?姑娘你没事儿吧
    7月3日云栖精选夜读:强大的PyTorch:10分钟让你了解深度学习领域新流行的框架
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/10449953.html
Copyright © 2020-2023  润新知