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

首頁 > 系統(tǒng) > Linux > 正文

linux中$符號的基礎(chǔ)用法總結(jié)

2024-08-28 00:03:29
字體:
供稿:網(wǎng)友

linux使用版本: CentOS 7

[root@azfdbdfsdf230lqdg1ba91 ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@azfdbdfsdf230lqdg1ba91 ~]# uname -aLinux azfdbdfsdf230lqdg1ba91 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux[root@azfdbdfsdf230lqdg1ba91 ~]#

$符號草集

目標(biāo)

$符號在linux系統(tǒng)的有著很多很重要的作用,特別是在編寫bash腳本的時(shí)候,隨處可見$的身影。由于他的千變?nèi)f化,多種多樣,使對他的掌握和使用,尤其是記憶帶來了挑戰(zhàn),所以,現(xiàn)在,我們來一起將它的用法做一次匯總,形成草集。掌握他們不會讓你工資大漲,因?yàn)槊嬖嚥粫柕剑菚岣吣愕墓ぷ餍剩瑪U(kuò)展你的視野

目前,我所知道的$用法有$、"$"、$0 $1 $n、$#、$@ $*、$?、$()、${}、${#}、$[]、$-、$!、$$。額外!$,!!,依次詳說

$ 獲取變量值

$可獲取變量的值

[root@izbp10lqlgy2g31s41bt94z ~]# a=1[root@izbp10lqlgy2g31s41bt94z ~]# echo $a1

"$" 獲取變量值時(shí)最好使用"括起來

為什么有這個建議呢,看實(shí)例

[root@izbp10lqlgy2g31s41bt94z ~]# echo get value of a = $aget value of a = 1[root@izbp10lqlgy2g31s41bt94z ~]# echo "get value of a = $a"get value of a = 1

可以看到,有無"雙引號括起來似乎效果是一樣的。別早下結(jié)論,往下看

[root@izbp10lqlgy2g31s41bt94z ~]# a="i am skyler"[root@izbp10lqlgy2g31s41bt94z ~]# [ $a == "i am skyler" ]-bash: [: 參數(shù)太多

這里解析下[],[]是條件判斷符號,相當(dāng)于test命令。他的意思是判斷a變量的值是否等于"i am skyler"。
那么為什么會報(bào)錯呢,因?yàn)閇 $a == "i am skyler"]這種寫法變量解析后成為[ i am skyler == "i am skyler" ],很明顯,這個判斷式無法判斷等號兩邊的字符串,我們想要的是[ "i am skyler" == "i am skyler" ]的比較。所以平時(shí)我們在是name"

[root@izbp10lqlgy2g31s41bt94z ~]# [ "$a" == "i am skyler" ][root@izbp10lqlgy2g31s41bt94z ~]# echo $?0

使用雙引號后就可以了,這里提前用了下$?,他的意思是判斷前一個命令執(zhí)行結(jié)果是否正確。輸出的結(jié)果中,0表示執(zhí)行成功,非零值表示出錯

${}用于區(qū)分變量的邊界,明確告訴程序要取哪個變量的值

如下實(shí)例,不加{}程序無法判斷ab $abc哪個是變量,無法解析

[root@izbp10lqlgy2g31s41bt94z ~]# echo "get value of a = $abc"get value of a =[root@izbp10lqlgy2g31s41bt94z ~]# echo "get value of a = ${a}bc"get value of a = 1bc[root@izbp10lqlgy2g31s41bt94z ~]#

${#}獲取變量值的長度

[root@izbp10lqlgy2g31s41bt94z ~]# echo "get length of a = ${#a}"get length of a = 1[root@izbp10lqlgy2g31s41bt94z ~]# a=11111[root@izbp10lqlgy2g31s41bt94z ~]# echo "get length of a = ${#a}"get length of a = 5[root@izbp10lqlgy2g31s41bt94z ~]# a=skyler[root@izbp10lqlgy2g31s41bt94z ~]# echo "get length of a = ${#a}"get length of a = 6[root@izbp10lqlgy2g31s41bt94z ~]#
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 太保市| 长白| 衡东县| 石阡县| 浮梁县| 休宁县| 庆阳市| 普格县| 浠水县| 彭水| 南丰县| 澳门| 米脂县| 基隆市| 惠安县| 舞钢市| 舞钢市| 临朐县| 陆河县| 团风县| 克东县| 涡阳县| 神池县| 涿州市| 富川| 松滋市| 德兴市| 新绛县| 黄陵县| 田东县| 乡宁县| 高淳县| 禄丰县| 通州区| 靖宇县| 湘潭市| 宁明县| 泽州县| 靖安县| 依兰县| 陆丰市|