歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> [Linux]Shell變量

[Linux]Shell變量

日期:2017/3/1 13:38:04   编辑: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