自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Shell編程之更改與查看常用環(huán)境變量

系統(tǒng) Linux
沒(méi)有使用export設(shè)置的變量,只能在自己的Shell腳本中起作用。我們也可以直接使用【export】命令來(lái)查看可以被全局使用的環(huán)境變量。

[[408139]]

本文轉(zhuǎn)載自微信公眾號(hào)「Linux常用命令」,作者妖生。轉(zhuǎn)載本文請(qǐng)聯(lián)系Linux常用命令公眾號(hào)。

面試官:與哪些環(huán)境變量相關(guān)Shell命令?

答:export、declare、source、env、set/unset。

面試官:它們分別有什么作用?

答:……

正文

export的作用就是設(shè)置全局變量,可以在整個(gè)Shell環(huán)境中被引用。

沒(méi)有使用export設(shè)置的變量,只能在自己的Shell腳本中起作用。我們也可以直接使用【export】命令來(lái)查看可以被全局使用的環(huán)境變量。

示例如下:

  1. [root@linuxido ~]# export       ##  查看所有export設(shè)置的環(huán)境變量  
  2. declare -x CLASSPATH=".:/usr/local/java/jdk1.8.0_131/lib:/usr/local/java/jdk1.8.0_131/jre/lib:" 
  3. declare -x DISPLAY="localhost:10.0" 
  4. declare -x GEM_HOME="/usr/local/rvm/gems/ruby-2.7.0" 
  5. ……      ##  declare 設(shè)置環(huán)境變量 

我們可以看到【declare -x】也等同于【export】,所以定義環(huán)境變量的方式基本上有三種,示例如下:

  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_131   ## 1、【export 變量名=變量值】 
  2.  
  3. PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin   ## 2、先設(shè)置【變量名=變量值】 
  4. export PATH                             ## 再設(shè)置【export 變量名】 
  5.  
  6. declare -x DISPLAY="localhost:10.0"         ## 3、【declare –x 變量名=變量值】 

一般在使用export定義過(guò)全局變量后,都會(huì)使用【source】刷新文件中定義的環(huán)境變量,使其檔次生效(使用點(diǎn)【.】可達(dá)到同樣效果)如刷新系統(tǒng)全局變量【source /etc/profile】或刷新用戶全局變量【. ~/.bash_profile】。

不用source刷新變量的話則要重新登錄才能生效。

env也可以查看環(huán)境變量,不同于export,它只查看用戶的環(huán)境變量。

示例如下:

  1. [root@linuxido ~]# env  ## 查看用戶環(huán)境變量 
  2. …… 
  3. HOME=/root 
  4. LOGNAME=root 
  5. …… 

【set】也可以顯示本地用戶變量,但是不只是本地用戶變量,還包括Shell特有的變量,如BASH_ALIASES 、BASH_ARGC。示例如下:

  1. [root@linuxido ~]# set  
  2. BASH=/bin/bash 
  3. BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:histappend:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath 
  4. BASH_ALIASES=() 
  5. BASH_ARGC=() 
  6. BASH_ARGV=() 
  7. …… 

set還有個(gè)作用是可以調(diào)試腳本,即在Shell中注明【set -x】,詳見(jiàn)10.4.2章節(jié)。

使用【export】可以臨時(shí)設(shè)置一個(gè)環(huán)境變量,示例如下:

  1. [root@linuxido ~]# export LINUX_HOME=linuxido.com   ##  export設(shè)置臨時(shí)變量 
  2. [root@linuxido ~]# echo $LINUX_HOME             ##  打印臨時(shí)變量值 
  3. linuxido.com 

臨時(shí)消除一個(gè)環(huán)境變量,使用【unset】,示例如下:

  1. [root@linuxido /shell]# echo $LINUX_HOME    ##  查看臨時(shí)變量 
  2. linuxido.com 
  3. [root@linuxido /shell]# unset LINUX_HOME    ##  unset取消臨時(shí)變量 
  4. [root@linuxido /shell]# echo $LINUX_HOME    ##  臨時(shí)變量已經(jīng)沒(méi)有值了 
  5.  
  6. [root@linuxido /shell]## 

附錄:常用環(huán)境變量

在bashrc、profile等環(huán)境變量設(shè)置文件中,設(shè)置了一堆我們常用的環(huán)境變量,示例如下:

  1. [root@ linuxido ~]# echo $SHELL ##  查看當(dāng)前Shell變量 
  2. /bin/bash 
  3. [root@linuxido ~]# echo $PS1        ##  查看PS1環(huán)境變量 
  4. [\u@\h \w]\$\$ 
  5. [root@dihuiyuan logs]# echo $PS2    ##  多行命令提示符,也可以更改此變量值為-> 
  6. >           ##  一個(gè)非常長(zhǎng)的命令可以通過(guò)在末尾加“\”使其分行顯示 
  7. [root@dihuiyuan logs]# echo $PS3    ##  默認(rèn)為空,select循環(huán)語(yǔ)句的默認(rèn)提示 
  8.  
  9. [root@dihuiyuan logs]# echo $PS4    ## bash -x或set -x,調(diào)試腳本時(shí)輸出的命令提示符 
  10. [root@linuxido ~]# echo $HOME   ## 查看用戶家目錄 
  11. /root 
  12. [root@linuxido ~]# echo $USER   ## 查看用戶 
  13. root 
  14. [root@linuxido ~]# echo $LANG   ## 查看是否中文環(huán)境 
  15. zh_CN.UTF-8 
  16. [root@linuxido ~]# echo $HISTSIZE   ## 查看歷史命令條數(shù) 
  17. 1000 
  18. [root@linuxido ~]# echo $PATH   ## 查看系統(tǒng)環(huán)境PATH 
  19. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin…… 

當(dāng)然,這僅僅是冰山一角,有興趣的可以查閱相關(guān)文件或文檔。

 

責(zé)任編輯:武曉燕 來(lái)源: Linux常用命令
相關(guān)推薦

2020-08-05 09:48:20

Docker容器工具

2020-08-17 07:38:47

Linux系統(tǒng)

2010-06-07 11:33:11

Linux查看環(huán)境變量

2010-05-27 17:17:29

Linux查看環(huán)境變量

2011-06-14 09:04:52

Qt 環(huán)境變量

2022-10-14 13:33:35

2023-11-01 13:40:25

GolangGo

2021-02-15 15:52:27

Linux環(huán)境變量命令

2009-11-03 08:53:42

LinuxWindows環(huán)境變量

2012-09-18 01:22:33

Java環(huán)境變量Classpath

2024-01-22 13:53:00

Linux環(huán)境變量

2010-10-11 09:25:31

MySQL環(huán)境變量

2010-04-21 16:58:51

Unix環(huán)境變量

2009-06-15 16:28:30

JAVA環(huán)境變量

2009-07-07 13:44:35

JDK環(huán)境變量設(shè)置

2009-10-21 12:58:18

2011-05-31 13:41:50

Android 環(huán)境變量

2019-09-09 09:02:04

Linux腳本語(yǔ)言文本編輯器

2021-11-29 10:25:16

Linux環(huán)境變量命令

2011-12-21 10:46:17

Java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)