国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Bash中的變量

2019-11-18 17:24:42
字體:
供稿:網(wǎng)友
1.用戶定義的變量
用戶定義的變量有字母數(shù)字及下劃線組成,并且變量名的第一個(gè)字符不能為數(shù)字.
與其它UNIX名字一樣,變量名是大小寫敏感的.
對(duì)于變量,用戶可按如下方式賦值:
name=value
在引用變量時(shí),需在前面加$符號(hào),用戶也可以在變量間進(jìn)行相互賦值,如:
(前面的$是命令提示符)

$JOHN=john
$NAME=$JOHN
$echoHello$NAME
Hellojohn

也可以用變量和其他字符組成新的字,這時(shí)可能需要把變量用{}括起,如:

$SAT=Satur
$echoTodayis${SAT}day
TodayisSaturday

對(duì)于未賦值的變量,Bash以空值對(duì)待,用戶也可以用unset命令清除給變量
賦的值.

Bash中還可以使用數(shù)組變量,其賦值有兩種:

(1)name[index]=value
(2)name=(value1...valuen)此時(shí)下標(biāo)從0開始

數(shù)組下標(biāo)的范圍沒有任何限制,同時(shí)也不必使用連續(xù)的分量.

Bash中關(guān)于變量的內(nèi)建命令有:

(1)declare和typeset.兩者具有一樣的功能.其選項(xiàng)有:
[-/ ]a設(shè)置/撤消變量的數(shù)組屬性
[-/ ]i設(shè)置/撤消變量的整數(shù)屬性
[-/ ]r設(shè)置/撤消變量的只讀屬性
[-/ ]x設(shè)置/撤消變量的輸出屬性
-pvar顯示變量屬性
(2)export和local.
export把變量輸出到環(huán)境中,用法為:
exportname
exportname=value

這里需要簡(jiǎn)單介紹一下export的作用:當(dāng)Bashshell執(zhí)行一個(gè)
程序時(shí),將首先為該程序建立一個(gè)新的執(zhí)行環(huán)境,稱為子shell,
在BashShell中變量都是局部的,即它們只是在創(chuàng)建它們的子
Shell中是有意義的,使用export后,變量被設(shè)置為全局變量,這
時(shí)可以被其它子Shell所識(shí)別

local標(biāo)記變量為局部的(如只能被函數(shù)內(nèi)部使用),用法為:
localname
localname=value
(3)readonly.
指定變量為只讀,執(zhí)行后,改變量不能被再次賦值,用法為:
readonlyname

2.位置變量或Shell參數(shù)
BashShell在解釋用戶命令時(shí),將把命令行的第一個(gè)子作為命令,而其它字作為
參數(shù)通過位置變量傳遞給程序.$1,...,$9分別代表第一,...,九個(gè)參數(shù).其中1-9
是真正的參數(shù)名,"$"符只是用來標(biāo)識(shí)變量的替換.
位置變量$0指命令對(duì)應(yīng)的可執(zhí)行名.
其它的還有:
$#送給命令的參數(shù)個(gè)數(shù)
$@所有的參數(shù),每個(gè)用雙括號(hào)括起
$*所有的參數(shù),用雙括號(hào)括起
3.與Shell有關(guān)的變量
(1)Shell自身設(shè)置的一些常用變量:
LINENO正在執(zhí)行的命令在腳本中的行號(hào)
PWD用戶當(dāng)前目錄的全名
OLDPWD最近一次執(zhí)行cd之前,用戶當(dāng)前目錄的全名
PPID父進(jìn)程ID
$當(dāng)前進(jìn)程ID
RANDOM隨機(jī)數(shù)(范圍0-32767)
SECONDSBashShell的運(yùn)行時(shí)間,單位是秒
REPLYselect和read命令使用,以后會(huì)講到
OPTARG
ORTIND這兩個(gè)變量由getopt命令設(shè)置
UID當(dāng)前用戶的UserID
_上一條命令使用的最后一個(gè)參數(shù)
(2)影響Shell行為的一些常用環(huán)境變量:
PATH命令搜索路徑,以冒號(hào)為分隔符.注意與DOS下不同的是,
當(dāng)前目錄不在系統(tǒng)路徑里
HOME用戶home目錄的路徑名,是cd命令的默認(rèn)參數(shù)
COLUMNS定義了命令編輯模式下可使用命令行的長(zhǎng)度
EDITOR默認(rèn)的行編輯器
VISUAL默認(rèn)的可視編輯器
FCEDIT命令fc使用的編輯器
HISTFILE命令歷史文件
HISTSIZE命令歷史文件中最多可包含的命令條數(shù)
HISTFILESIZE命令歷史文件中包含的最大行數(shù)
IFS定義SHELL使用的分隔符
LOGNAME用戶登錄名
MAIL指向一個(gè)需要SHELL監(jiān)視其修改時(shí)間的文件.當(dāng)該文件修改后,
SHELL將發(fā)消息Youhavamail給用戶
MAILCHECKSHELL檢查MAIL文件的周期,單位是秒
MAILPATH功能與MAIL類似.但可以用一組文件,以冒號(hào)分隔,每個(gè)文件后
可跟一個(gè)問號(hào)和一條發(fā)向用戶的消息
SHELLSHELL的路徑名
TERM終端類型
TMOUTSHELL自動(dòng)退出的時(shí)間,單位為秒,若設(shè)為0則禁止SHELL自動(dòng)退出
PROMPT_COMMAND指定在主命令提示符前應(yīng)執(zhí)行的命令
PS1主命令提示符
PS2二級(jí)命令提示符,命令執(zhí)行過程中要求輸入數(shù)據(jù)時(shí)用
PS3select的命令提示符
PS4調(diào)試命令提示符
MANPATH尋找手冊(cè)頁的路徑,以冒號(hào)分隔
LD_LIBRARY_PATH尋找?guī)斓穆窂?以冒號(hào)分隔


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文登市| 佛坪县| 永福县| 建始县| 行唐县| 微山县| 许昌县| 云林县| 鹰潭市| 肥乡县| 成都市| 南召县| 崇明县| 新干县| 台湾省| 英山县| 庆城县| 汕头市| 平泉县| 原阳县| 呼玛县| 上饶市| 阜新| 忻城县| 福建省| 如东县| 北京市| 叶城县| 体育| 龙井市| 开平市| 左云县| 嫩江县| 饶平县| 永清县| 宝清县| 莱州市| 新野县| 印江| 高密市| 石首市|