歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux中Shell變量詳解

Shell變量分為環境變量和自定義變量,這兩則的差異在於該變量能否被子進程使用,看下面的一個示 意圖:

如果是環境變量,子進程中還可以繼續使用,但如果是自定義的變量,子進程裡將失效。

用env查看環境變量

常見的環境變量如下:

1)HOME:用戶的主目錄(cd ~)

2)SHELL:用戶的默認shell

3)HISTSIZE:歷史記錄條數

4)MAIL:郵件信箱文件

5)PATH:執行文件查找路徑

6)LANG:語系

用set查看環境變量和自定義變量

比較重要的自定義變量有:

1)PS1:提示符設置

2)$:本shell的PID

3)?:上個執行命令的返回碼

用export把自定義變量變成環境變量

上面我們提到過,只有環境變量才能被子進程使用,所以如果你想讓某個自定義變量可以被子進程使 用,就使用export命令把它變成環境變量。

變量的顯示和取消 - echo unset

echo用於顯示變量的值,如:

# echo $SHELL

/bin/bash

unset用於取消變量,如:

# export a=1  
# echo $a  
1  
# unset a  
# echo $a  -- 返回空

語系變量 - locale和LANG

 

我們通過locale命令可以獲得當前的語系編碼,如下所示:

# locale  
LANG=en_US.UTF-8  
LC_CTYPE="en_US.UTF-8"  
LC_NUMERIC="en_US.UTF-8"  
LC_TIME="en_US.UTF-8"  
LC_COLLATE="en_US.UTF-8"  
LC_MONETARY="en_US.UTF-8"  
LC_MESSAGES="en_US.UTF-8"  
LC_PAPER="en_US.UTF-8"  
LC_NAME="en_US.UTF-8"  
LC_ADDRESS="en_US.UTF-8"  
LC_TELEPHONE="en_US.UTF-8"  
LC_MEASUREMENT="en_US.UTF-8"  
LC_IDENTIFICATION="en_US.UTF-8"  
LC_ALL=

在實際使用中,其實只要設置LANG變量即可。默認的語系變量由以下文件定義:

# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb- sun16"

變量的聲明 - declare

由declare聲明的變量默認是自定義的變量,如果加上-x參數表示定義為環 境變量(同export的效果一樣)

對用戶的資源限制 - ulimit

執行ulimit -a即可列出當前用戶資源使用限制情況:

# ulimit -a  
core file size          (blocks, -c) 0  
data seg size           (kbytes, -d) unlimited  
scheduling priority             (-e) 0  
file size               (blocks, -f) unlimited  
pending signals                 (-i) 29823  
max locked memory       (kbytes, -l) 64  
max memory size         (kbytes, -m) unlimited  
open files                      (-n) 65535  
pipe size            (512 bytes, -p) 8  
POSIX message queues     (bytes, -q) 819200  
real-time priority              (-r) 0  
stack size              (kbytes, -s) 10240  
cpu time               (seconds, -t) unlimited  
max user processes              (-u) 1024  
virtual memory          (kbytes, -v) unlimited  
file locks                      (-x) unlimited
Copyright © Linux教程網 All Rights Reserved