亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > Linux Shell > 正文

Shell編程之Shell變量學(xué)習(xí)總結(jié)

2020-07-27 19:19:00
字體:
供稿:網(wǎng)友

一、變量操作

A.變量顯示、打印
語法:echo $var
B.變量設(shè)置
語法:var=value

變量的設(shè)置規(guī)則:
1.變量兩端不能直接接空格符
2.變量名稱只能是因?yàn)樽帜概c數(shù)字,但開頭不能使數(shù)字
3.雙引號(hào)內(nèi)的特殊字符如$等,保持原本特性

復(fù)制代碼 代碼如下:
[root@bogon ~]# var="lang is $LANG"
[root@bogon ~]# echo %var
root@bogon ~]# echo $var
lang is zh_CN.UTF-8

1. 單引號(hào)內(nèi)的特殊字符則僅為一般字符
復(fù)制代碼 代碼如下:
[root@bogon ~]#
[root@bogon ~]# var='lang is $LANG';echo $var
lang is $LANG

2. 在一串命令中,還需要通過其他命令提供的信息,可用單引號(hào)‘命令'或&(命令),舉例:指令1在執(zhí)行的過程中需要先知道指令2的的值,但是指令1,2在一串指令中
復(fù)制代碼 代碼如下:
[root@bogon ~]# uname -r
2.6.18-371.el5
[root@bogon ~]# cd /lib/modules/$(uname -r)/kernel
[root@bogon kernel]#

3. 變量的累加
復(fù)制代碼 代碼如下:
[root@bogon kernel]# var=${var}yes
[root@bogon kernel]# echo $var
lang is $LANGyes

4. 數(shù)組變量設(shè)置與讀取
復(fù)制代碼 代碼如下:
[root@bogon ~]# array[1]=a
[root@bogon ~]# array[2]=b
[root@bogon ~]# array[3]=c
[root@bogon ~]# echo ${array[1]}
a
[root@bogon ~]# echo ${array[2]}

[root@bogon ~]# echo ${array[3]}
c

C.取消變量(unset)
語法: unset var

D.變量查看(set)
語法:set

比較重要的幾個(gè)自定義變量
HISTFILE:歷史記錄存儲(chǔ)位置
MAILCHECK:多少秒掃描次郵箱,查看是否有新郵件
PS1:提示符設(shè)置
$:目前這個(gè)shell的PID
?:剛才執(zhí)行完命令的回傳碼。0為正確,非0為錯(cuò)誤

舉例:

復(fù)制代碼 代碼如下:

比較重要的幾個(gè)自定義變量
HISTFILE:歷史記錄存儲(chǔ)位置
MAILCHECK:多少秒掃描次郵箱,查看是否有新郵件
PS1:提示符設(shè)置
$:目前這個(gè)shell的PID
?:剛才執(zhí)行完命令的回傳碼。0為正確,非0為錯(cuò)誤

E.變量鍵盤讀取(read)
語法:read [-pt] var
選項(xiàng)與參數(shù):
-p:后可跟提示信息
-t:后跟等待輸入的描述

舉例:

復(fù)制代碼 代碼如下:

[plain] view plaincopyprint?
[root@bogon ~]# read atest 
this is a test 
[root@bogon ~]# echo $atest 
this is a test 
[root@bogon ~]# read -p "please input.. " attest   
please input.. hello world      =>提示信息 
[root@bogon ~]# echo $atest 
hello world 
[root@bogon ~]# read -p "please input.. " -t 5  atest 
please input..  =>5秒未輸入回到命令行模式 
[root@bogon ~]#  
[root@bogon ~]# echo $atest 
hello world

F.變量聲明(declare)
語法:declare [-aixr] var
選項(xiàng)與參數(shù)
declare后不接任何內(nèi)容,代表查詢所有變量,作用和set一致
-a  :將后面名為 variable的變量定義成為數(shù)組 (array)類型
-i  :將后面名為 variable的變量定義成為整數(shù)數(shù)字 (integer)類型
-x  :用法與 export一樣,就是將后面的 variable變成環(huán)境變量;
+x :將環(huán)境變量變?yōu)樽远x變量
-r  :將變量配置成為 readonly類型,該變量不可被更改內(nèi)容,也不能 unset(需要注銷后再登陸才能變回)

舉例:

復(fù)制代碼 代碼如下:
[plain] view plaincopyprint?
[root@bogon ~]# echo $sum 
100+50+10 =>默認(rèn)當(dāng)做字符串處理 
[root@bogon ~]# declare -i sum=100+50+10  
[root@bogon ~]# echo $sum 
160 =>聲明為int 因此可以做加法 
[root@bogon ~]# declare -x sum 
[root@bogon ~]# export | grep sum 
declare -ix sum="160" =>查詢到是環(huán)境變量 
[root@bogon ~]# declare +x sum 
[root@bogon ~]# export | grep sum= >查詢不到是環(huán)境變量 
[root@bogon ~]# declare -r sum;sum=test 
bash: sum: readonly variable =>只讀允許修改 

G.變量內(nèi)容刪除
語法
${var#/key}:從前往后刪除符合key最短的那一個(gè)
${var##/key}:從前往后刪除符合key最長的那一個(gè)
${var%/key}:從后往前刪除符合key最短的那一個(gè)
${var%%/key}:從后往前刪除符合key最短的那一個(gè)

舉例:${var#/key}

復(fù)制代碼 代碼如下:
[plain] view plaincopyprint?
[root@bogon ~]# path=${PATH};echo $path 
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 
[root@bogon ~]# echo ${path#/*:}        =>key為*.(*為通配符) 
/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 


舉例:${var##/key}
復(fù)制代碼 代碼如下:
[plain] view plaincopyprint?
[root@bogon ~]# path=${PATH};echo $path 
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 
[root@bogon ~]# echo ${path##/*:} 
/root/bin 

H.變量內(nèi)容替換
語法:
${var/舊字符串/新字符串}:替換第一個(gè)滿足條件的字符串
${var//舊字符串/新字符串}:替換所有滿足條件的字符串
舉例:${var/舊字符串/新字符串}

復(fù)制代碼 代碼如下:
[plain] view plaincopyprint?
root@bogon ~]# path=${PATH};echo $path 
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 
[root@bogon ~]# echo ${path/sbin/SBIN} 
/usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 


舉例:${var//舊字符串/新字符串}
復(fù)制代碼 代碼如下:
[plain] view plaincopyprint?
[root@bogon ~]# path=${PATH};echo $path 
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 
[root@bogon ~]# echo ${path//sbin/SBIN} 
/usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/SBIN:/usr/local/bin:/SBIN:/bin:/usr/SBIN:/usr/bin:/usr/X11R6/bin:/root/bin 

二、環(huán)境變量
普通變量可以理解為局部變量,環(huán)境變量可以理解為全局變量,登陸成功獲得的bash shell就是一個(gè)進(jìn)程,在此情況下再去打開一個(gè)新SHELL就是他的子進(jìn)程,子進(jìn)程是無法獲取父進(jìn)程的自定義變量,但是可以獲取父進(jìn)程的環(huán)境變量

A.環(huán)境變量導(dǎo)出(export )
語法:export  var

B.環(huán)境變量查看(env )

語法:env

比較重要的幾個(gè)環(huán)境變量
HOME:代表用戶的主文件夾
SHELL:代表目前使用的shell是哪個(gè)程序,我現(xiàn)在使用的是/bin/bash
HISTSIZE:歷史記錄最大存儲(chǔ)條數(shù)
MAIL:mail命令系統(tǒng)收信時(shí),系統(tǒng)會(huì)讀取的信箱文件
PATH:執(zhí)行文件查找路徑
LANG:語系信息
RANDOM:隨機(jī)數(shù)變量(0~32767)

三、提示符的設(shè)置(PS1)
變量PS1='[/u@/h /W]/$ '記錄了命令提示符的顯示格式 [root@bogon ~]#

符號(hào)意義
/d :可顯示出[星期月日]的日期格式,如:"Mon Feb 2"
/H :完整的主機(jī)名。
/h :僅取主機(jī)名在第一個(gè)小數(shù)點(diǎn)之前的名字
/t :顯示時(shí)間,為 24小時(shí)格式的[HH:MM:SS]
/T :顯示時(shí)間,為 12小時(shí)格式的[HH:MM:SS]
/A :顯示時(shí)間,為 24小時(shí)格式的[HH:MM]
/@ :顯示時(shí)間,為 12小時(shí)格式的[am/pm]樣式
/u :目前使用者的賬號(hào)名稱,如[root];
/v :BASH的版本信息,如鳥哥的測(cè)試主板本為 3.2.25(1),僅取[3.2]顯示
/w :完整的工作目錄名稱,由根目錄寫起的目錄名稱。但家目錄會(huì)以 ~取代;
/W :利用 basename函數(shù)取得工作目錄名稱,所以僅會(huì)列出最后一個(gè)目錄名。
/# :下達(dá)的第幾個(gè)命令。
/$ :提示字符,如果是 root時(shí),提示字符為 #,否則就是 $

舉例:

復(fù)制代碼 代碼如下:
[root@bogon ~]# PS1='[/u@/h/A /W /#]/$ '
[root@bogon23:45 ~ 82]#

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
精品乱码一区二区三四区视频| 日韩三级在线免费观看| 在线国产精品播放| 中文字幕在线中文| 国产日韩精品视频一区二区三区| 欧美三级电影一区二区三区| 色婷婷在线播放| 美女日韩欧美| 好吊色欧美一区二区三区| 91福利在线免费观看| 成人有码在线视频| 久久久久久久久综合影视网| 国产美女三级无套内谢| 亚洲福利视频在线| 欧美高清69hd| 最新在线观看av| 无码aⅴ精品一区二区三区浪潮| 国产精品被窝福利一区| 欧美zozo另类异族| 欧美日韩中文字幕一区| 大黑人交xxx极品hd| 日韩久久不卡| 亚洲免费激情视频| 亚洲电影成人成人影院| 中文字幕免费在线观看| 亚洲一区av在线播放| 国产色99精品9i| 中文字幕成人在线视频| 欧美香蕉大胸在线视频观看| 国产福利a级| 国产不卡一二三区| 欧美另类videosbest视频| www.色呦呦| 美日韩精品视频免费看| 国产精品中文字幕亚洲欧美| 欧美疯狂xxxx大交乱88av| 自拍偷拍电影| 欧美日韩视频| 卡通动漫亚洲综合| 国产精品一区二区免费看| 成人手机在线视频| 亚洲一级免费视频| 中文字幕一区二区三区电影| 午夜剧场在线免费观看| 欧美精品一区在线| 欧美高清69hd| 色一情一乱一伦一区二区三欧美| 亚洲 国产 日韩 欧美| 国产女人爽到高潮a毛片| 国产在线观看黄色| 亚洲精品国产精品国自产| 亚洲综合小说网| 猛男欧美办公室激情在线| 成人在线网址| 我和岳m愉情xxxⅹ视频| 国产欧美久久久精品免费| 欧美一区二区三区| 国产精品欧美综合亚洲| 囯产精品一品二区三区| 在线观看精品国产视频| 牛夜精品久久久久久久99黑人| 深夜成人在线观看| 亚洲欧洲成人精品av97| 亚洲精品欧美精品| 亚洲制服欧美中文字幕中文字幕| 欧美性猛交xxxx乱大交少妇| 一级黄色大片儿| 成人性生交大片免费看中文视频| 国产精品99久久久久久似苏梦涵| 日韩欧美一级片| 日韩香蕉视频| 日韩二区在线观看| 国产精品日韩一区二区| 亚洲男人天堂九九视频| 国产精品亚洲一区二区三区在线| 久久99国产精品久久99大师| 成人av免费网站| 欧美成人欧美edvon| 美女脱光内衣内裤视频久久影院| 亚洲一区二区三区四区五区xx| 5858s免费视频成人| 日韩av在线最新| 欧美日韩成人综合| 麻豆精品视频在线原创| av成人国产| 欧美精品二区三区| 欧美亚洲一区三区| 久久久久国产免费| 久久免费福利| 欧美日韩性生活视频| 韩国成人动漫| 福利av痴女| 欧美tk丨vk视频| 欧美成人777| 激情图区综合网| 蜜桃精品视频在线观看| 97人人模人人爽人人少妇| 国产欧美久久久精品影院| 最近的2019中文字幕免费一页| 久久久999免费视频| 亚洲最大最好的私人影剧院| 好吊操这里只有精品| 超级碰碰视频| 国产精品久久久久久久久久久久久| 国产精品www.| 7777在线视频| 奇米影视777在线欧美电影观看| 神马久久一区二区三区| 欧美在线在线| 91成人福利视频| 亚洲精品美女在线观看| 亚洲剧情一区二区| 亚洲国产精品成人久久蜜臀| 亚洲成人动漫av| 91精品电影| 婷婷四房综合激情五月| 久久久久久久穴| 无遮挡的视频在线观看| 青青草原av在线| 欧美1234区| 午夜伦伦电影理论片费看| 欧美91大片| 午夜国产一区二区三区| 99国产精品久久久久久久久久久| 成人免费视频免费观看| 亚洲伊人网在线观看| 国产精品成人一区二区艾草| 综合久久久久久| 亚洲性日韩精品一区二区| 中文字幕av高清| 97香蕉久久| 久久久久久综合网| 日韩不卡一区二区| 亚洲一区二区视频在线播放| 久久久久久久久久免费视频| 成人欧美一区二区三区| 亚洲视频在线播放| 喷水一区二区三区| 亚欧美中日韩视频| 午夜激情在线视频| 久久机热这里只有精品| 久久久久无码国产精品一区| 丰满人妻一区二区三区53号| 一二三区在线播放| 极品国产91在线网站| 欧美巨猛xxxx猛交黑人97人| 麻豆av在线导航| 亚洲激情视频在线播放| 三级小说欧洲区亚洲区| 国产欧美一区二区三区四区| 国产91在线视频蝌蚪| 国产美女在线播放| 中文字幕视频免费在线观看| 夜夜躁狠狠躁日日躁2021日韩| 美女撒尿一区二区三区| 一女二男3p波多野结衣| 精品国产免费人成网站| 国产91在线播放精品| 天天躁日日躁狠狠躁欧美| 四虎成人在线视频| 北岛玲一区二区三区| 日本欧美一区二区三区| 日韩三级视频在线| 99久久99精品| 免费美女久久99| 在线视频你懂得一区| 日韩欧美一区电影| 国产精品爱久久久久久久| 成人香蕉社区| 亚洲色图图片专区| 久久日韩精品一区二区五区| 成人综合在线观看| 欧美国产综合色视频| 免费观看成年人视频| 日韩黄色免费电影| eeuss影院网站免费观看| 97人人澡人人爽91综合色| 九九精品视频在线观看| 91成人高清| 巨胸喷奶水www久久久免费动漫| 精品久久久久av影院| 日韩精品无码一区二区三区久久久| 日韩精品免费观看| 三级ai视频| 丰满少妇一区二区三区专区| 美国精品一区二区| 亚洲免费久久| 一级日本在线| 一区二区三区激情视频| 成年人福利网站| 九九九九久久久久| 一区二区三区日韩精品| se视频在线观看| 久久精品国产sm调教网站演员| 麻豆av免费在线观看| 欧美成人se01短视频在线看| 亚洲图片欧美午夜| 91九色丨porny丨极品女神| 少妇特黄一区二区三区| 免费一区二区在线观看| 国产一区香蕉久久| 91精品大全| 精品日本一区二区三区在线观看| 黄色激情视频网址| 亚洲国产小视频在线观看| 日韩美女主播在线视频一区二区三区| 中文字幕在线观看免费| 久久精品一区二区三区不卡免费视频| 黄页网址大全免费观看| 青青青草网站免费视频在线观看| 国产视频每日更新| 日本丰满少妇xxxx| 国产真实乱偷精品视频| 999这里有精品| 亚洲免费二区| 亚洲一区二区在线视频观看| 欧美日韩精品欧美日韩精品| 九一久久久久久| 放荡的美妇在线播放| 中文字幕乱码中文字幕| 欧美日本在线视频中文字字幕| av中文字幕在线观看第一页| 欧美激情视频免费观看| 德国极品另类| 一级黄色片网址| 护士精品一区二区三区| 亚洲成在人线免费观看| 久久一区二区三区欧美亚洲| 国产精品porn| xxxx69视频| 无码日本精品xxxxxxxxx| 久久久久www| 国产爆乳无码一区二区麻豆| 国产河南妇女毛片精品久久久| 又色又爽又黄无遮挡的免费视频| 美女福利视频导航| 尤物九九久久国产精品的特点| 在线观看wwww| 黄色高清在线观看| 自拍偷拍欧美精品| www欧美xxxx| 九一国产精品| 在线播放av片| 影视先锋久久| 久久精品老司机| 2020欧美日韩在线视频| 影音先锋日韩精品| theporn国产精品| chinese国产精品| 久久这里只有精品1| 91网站免费观看| 国产精品一级伦理| 欧美激情女人20p| 韩日视频一区| 欧美精品日日操| 蜜桃无码一区二区三区| 91大片在线观看| 欧美人与禽zozzo禽性配| 中文写幕一区二区三区免费观成熟| 91精品视频在线播放| 激情小说亚洲图片| 亚洲色图制服诱惑| 国产精品国产精品国产专区蜜臀ah| 波兰性xxxxx极品hd| 亚洲精品一区视频| av动漫精品一区二区| 91社区在线观看播放| 99在线精品免费视频九九视| 国产麻豆一区二区三区精品视频| 一区二区三区在线视频观看58| 97精品国产91久久久久久| 北岛玲日韩精品一区二区三区| 亚洲毛茸茸少妇高潮呻吟| 青青草原播放器| 久久国产精品99久久人人澡| 久久久久成人精品免费播放动漫| 久久婷婷av| 亚洲国产精品精华液2区45| 免费视频一区二区三区在线观看| 日韩欧美的一区| 一二三av在线| 国产精品国产三级国产有无不卡| 亚洲免费网站在线观看| 免费国产亚洲视频| 中文av一区二区| 国产精品久久久久久久久久白浆| 成人欧美一区二区三区1314| 亚洲伊人av| 中文资源在线网| 久久天天综合| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲www啪成人一区二区| 日产国产欧美视频一区精品| 97超级碰碰碰| 国产不卡一区| 亚洲欧美激情小说另类| 亚洲伊人成人网| 一区二区不卡在线观看| 在线精品自拍| a天堂中文在线官网| 久久大片网站| 免费在线观看污网站| 免费网站观看电影入口| 国产成a人亚洲精| 草草久视频在线观看电影资源| 91精品国产自产拍在线观看蜜| 亚洲色图美国十次| 四虎成人精品在永久免费| www.国产视频.com| 又嫩又硬又黄又爽的视频| 成人图片小说| 日本国产欧美一区二区三区| 欧美日韩免费高清一区色橹橹| 91精品黄色片免费大全| 精品美女在线观看视频在线观看| 黄色正能量网站| 成人影院中文字幕| 成人永久在线| 女仆av观看一区| 久草福利资源在线| 成年人小视频在线观看| 国产欧美韩日| 免费视频网站在线观看入口| 天天爱天天做色综合| 国产亚洲精品aa午夜观看| 欧美一区国产二区| 激情四房婷婷| 亚洲精品第一国产综合野|