zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    卷积神经网络之ResNet网络模型学习
    进程调度
    进程基础知识
    顺序栈链栈
    图的基本概念和术语
    关系数据库SQL复习
    关系数据库域关系演算语言QBE
    关系数据库元组关系演算语言ALPHA
    关系数据库关系模型、数据结构、完整性、关系代数
    数据库数据模型和系统结构
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/10449953.html
Copyright © 2011-2022 走看看