-
read命令: 在腳本運(yùn)行過(guò)程中,向腳本中傳遞用戶輸入的值。 read命令比位置參數(shù)更好用,因它可以給用戶輸出提示信息,以及對(duì)輸入過(guò)程和內(nèi)容做進(jìn)一步的規(guī)范。 read 選項(xiàng) 變量名 例如: read -p "Pls input ur name" name -t 20 -s 其中: -p "提示信息" :在等待read輸入時(shí),輸出提示信息; -t 秒數(shù) :設(shè)定等待輸入的時(shí)間,過(guò)時(shí)終止腳本 -n 字符數(shù) : read命令將只接受指定的字符數(shù) -s 隱藏輸入的字符 : 用于密碼等內(nèi)容的輸入。查看全部
-
預(yù)定義變量: $?, $$, $! 命令返回值$?:最后一次執(zhí)行的命令的返回狀態(tài),值為0,說(shuō)明上一個(gè)命令正確執(zhí)行,值非0,說(shuō)明上一個(gè)命令執(zhí)行出錯(cuò)。(至于具體返回的錯(cuò)誤值是多少,是由編寫(xiě)被運(yùn)行的這個(gè)程序的人在程序里指定的。) 當(dāng)前進(jìn)程號(hào)$$:當(dāng)前進(jìn)程的進(jìn)程號(hào)(即PID) 最后后臺(tái)進(jìn)程號(hào)$!:后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的進(jìn)程號(hào)。 上述三個(gè)中,$?最常用。 預(yù)定義變量和位置變量 相比于 用戶自定義變量 來(lái)說(shuō),格式更加嚴(yán)格, 用戶 只能 修改、訪問(wèn) 預(yù)定義變量和位置變量 的值,而無(wú)法修改其名稱和作用, 與之相比,環(huán)境變量和用戶自定義變量就不那么嚴(yán)格。查看全部
-
$n n為數(shù)字,$0代表命令本身,$1-$9代表第一到第九個(gè)參數(shù),十以上的參數(shù)需要用大括號(hào)包含,如${10} $* 這個(gè)變量代表命令行中所有的參數(shù),$*把所有的參數(shù)看成一個(gè)整體 $@ 這個(gè)變量也代表命令行中所有參數(shù),不過(guò)$@把每個(gè)參數(shù)區(qū)分對(duì)待 $# 這個(gè)變量代表命令行所有參數(shù)的個(gè)數(shù)查看全部
-
位置參數(shù)變量: $n $* $@ $#查看全部
-
位置參數(shù)變量: $1,$2,....$9,${10},.... 例如: 編好了某腳本文件:a.sh,chmod后即可運(yùn)行: $ a.sh 111 222 x.txt y.c 等等參數(shù) 系統(tǒng)會(huì)將命令行里的a.sh賦給a.sh腳本中的$0這一變量, 后面對(duì)應(yīng)地, 將 111 賦給 $1; 222 賦給 $2; x.txt 賦給 $3; y.c 賦給 $4;查看全部
-
幾個(gè)重要的系統(tǒng)環(huán)境變量: 1.PATH: PATH中包含多個(gè)由冒號(hào)分開(kāi)的目錄,都是系統(tǒng)默認(rèn)的命令搜索的路徑(系統(tǒng)查找命令的路徑) PATH="$PATH":某目錄 可以給PATH變量臨時(shí)增加命令路徑值,重啟/重登錄?后復(fù)原。查看全部
-
環(huán)境變量一般都用大寫(xiě)字母。 而Linux中是沒(méi)有大寫(xiě)命令的,這樣可以把命令和變量區(qū)分得更清楚。查看全部
-
在6min-7min處,老師講錯(cuò)了, 6min時(shí),unset 后本應(yīng)接 z,但他錯(cuò)寫(xiě)為$z,導(dǎo)致系統(tǒng)報(bào)錯(cuò)(1不是一個(gè)有效的標(biāo)識(shí)符),1是z的值,而且是數(shù)字,必然不能作為變量名。 在ubuntu實(shí)驗(yàn)時(shí),子bash中可以u(píng)nset掉父bash傳過(guò)來(lái)的環(huán)境變量,但unset的范圍僅限于子bash;即: x=123 export x bash #進(jìn)入到子shell中 echo $x 123 #成功傳遞 set -u unset x #在子shell中刪除x echo $x bash: x : unbound variable #前面輸入了set -u命令,故此處bash報(bào)錯(cuò),這里bash前沒(méi)有橫線。 exit #推出子shell echo $x 123 #在父shell中,值仍然在。查看全部
-
export命令:用戶通過(guò)此命令可將一個(gè)(局部)變量設(shè)為環(huán)境變量。 export 變量名 env命令:僅查看環(huán)境變量查看全部
-
環(huán)境變量與(用戶)自定義變量的區(qū)別: 環(huán)境變量是全局變量 自定義變量是局部變量 具體地說(shuō): 自定義變量只在當(dāng)前shell中生效 而環(huán)境變量在當(dāng)前shell和這個(gè)shell的所有子shall中生效。(眾所周知,很多情況下,例如,執(zhí)行shell腳本時(shí),執(zhí)行腳本的shell會(huì)創(chuàng)立一個(gè)子進(jìn)程,(當(dāng)然,子進(jìn)程還可以進(jìn)一步生子,子子孫孫……), 因此,環(huán)境變量,就是那些會(huì)傳給子進(jìn)程的變量) 另外,注意環(huán)境變量只能從父進(jìn)程到子進(jìn)程單向繼承。換句話說(shuō):在子進(jìn)程中的環(huán)境如何變更,均不會(huì) 影響父進(jìn)程的環(huán)境。 參《shell十三問(wèn)》查看全部
-
在shell中,所有變量的默認(rèn)類型都是字符串型, (即系統(tǒng)把所有值都當(dāng)作字符串放到變量中,不論這個(gè)“字符串”實(shí)際上是整數(shù)、浮點(diǎn)數(shù)等等) 例如: x=5 這里5是作為一個(gè)字符串而不是數(shù)值賦給x的, echo $x 5 所得出的5也是一個(gè)字符串,因此不能直接參加數(shù)學(xué)運(yùn)算。 再例如: y=6 z=$x+$y echo $z 5+6 可見(jiàn),z并不是11,系統(tǒng)只是把5+6當(dāng)作了一個(gè)字符串賦給了z,賦值前并沒(méi)有對(duì)5+6進(jìn)行進(jìn)一步地計(jì)算。 變量迭加的兩種方法: x="$x"234 x=${x}234 變量的查看: 命令set set -u 調(diào)用未聲明變量時(shí)會(huì)報(bào)錯(cuò), 例如: echo $a set -u (報(bào)錯(cuò)……) (此處,a是未聲明變量,而并不是在先前已經(jīng)進(jìn)行過(guò)賦值聲明“a=(NULL_VALUE)”(即“a=”)的變量。) 變量的刪除: unset 變量名查看全部
-
在shell中,所有變量的默認(rèn)類型都是字符串型, (即系統(tǒng)把所有值都當(dāng)作字符串放到變量中,不論這個(gè)“字符串”實(shí)際上是整數(shù)、浮點(diǎn)數(shù)等等)查看全部
-
呵呵查看全部
-
777查看全部
-
666查看全部
舉報(bào)
0/150
提交
取消