linux - set命令(進階)

linux set命令用於設定shell。

set命令能設定所使用shell的執行方式,可依照不同的需求來做設定。

語法

set [+-abCdefhHklmnpPtuvx]

引數說明:

-a 表示已修改的變數,以供輸出至環境變數。

-b 使被中止的後臺程式立刻回報執行狀態。

-C 轉向所產生的檔案無法覆蓋已存在的檔案。

-d Shell預設會用雜湊表記憶使用過的命令,以加速命令的執行。使用-d引數可取消。

-e 若命令傳回值不等於0,則立即退出shell。

-f 取消使用萬用字元。

-h 自動記錄函式的所在位置。

-H Shell 可利用“!”加<命令編號>的方式來執行history中記錄的命令。

-k 命令所給的引數都會被視為此命令的環境變數。

-l 記錄for迴圈的變數名稱。

-m 使用監視模式。

-n 只讀取命令,而不實際執行。

-p 啟動優先順序模式。

-P 啟動-P引數後,執行命令時,會以實際的檔案或目錄來取代符號連線。

-t 執行完隨後的命令,即退出shell。

-u 當執行時使用到未定義過的變數,則顯示錯誤資訊。

-v 顯示shell所讀取的輸入值。

-x 執行命令後,會先顯示該命令及所下的引數。

+<引數> 取消某個set曾啟動的引數。

例項

顯示環境變數

# set

BASH=/bin/bash

BASH_ARGC=()

BASH_ARGV=()

BASH_LINENO=()

BASH_SOURCE=()

BASH_VERSINFO=([0]=“3” [1]=“00” [2]=“15” [3]=“1” [4]=“release” [5]=“i386-redhat-linux-gnu”)

BASH_VERSION=‘3。00。15(1)-release’

COLORS=/etc/DIR_COLORS。xterm

COLUMNS=99

DIRSTACK=()

EUID=0

GROUPS=()

G_BROKEN_FILENAMES=1

HISTFILE=/root/。bash_history

HISTFILESIZE=1000

HISTSIZE=1000

HOME=/root

HOSTNAME=hnlinux

HOSTTYPE=i386

IFS=$‘ ’

INPUTRC=/etc/inputrc

KDEDIR=/usr

LANG=zh_CN。GB2312

LESSOPEN=‘|/usr/bin/lesspipe。sh %s’

LINES=34

L

MAIL=/var/spool/mail/root

MAILCHECK=60

OLDPWD=/home/uptech

OPTERR=1

OPTIND=1

OSTYPE=linux-gnu

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/crosstools/gcc-3。4。6-glibc-2。3。6/bin

PIPESTATUS=([0]=“2”)

PPID=26005

PROMPT_COMMAND=‘echo -ne “