婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > linux中$符號的基礎用法總結

linux中$符號的基礎用法總結

熱門標簽:長春電銷外呼系統代理商 大連電銷外呼系統運營商 400電話干嘛怎么申請信用卡 代理外呼系統創業 百度地圖標注尺寸無法顯示 400電話申請知乎 外呼系統虛擬號碼 泰州智能外呼系統排名 接電話機器人罵人

linux使用版本: CentOS 7

[root@azfdbdfsdf230lqdg1ba91 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@azfdbdfsdf230lqdg1ba91 ~]# uname -a
Linux 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 ~]#

$符號草集

目標

$符號在linux系統的有著很多很重要的作用,特別是在編寫bash腳本的時候,隨處可見$的身影。由于他的千變萬化,多種多樣,使對他的掌握和使用,尤其是記憶帶來了挑戰,所以,現在,我們來一起將它的用法做一次匯總,形成草集。掌握他們不會讓你工資大漲,因為面試不會問到,但是會提高你的工作效率,擴展你的視野

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

$ 獲取變量值

$可獲取變量的值

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

"$" 獲取變量值時最好使用"括起來

為什么有這個建議呢,看實例

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

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

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

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

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

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

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

如下實例,不加{}程序無法判斷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 ~]#

$0 $1 $n 獲取文件名稱和參數值,一般在bash腳本中較多

$0 表示shell腳本文件名;從1開始表示第幾個參數,1表示第一個參數。這里我們創建一個test.sh可執行文件

創建一個test.sh文件并填充代碼
[root@izbp10lqlgy2g31s41bt94z ~]# echo 'echo $0 $1 $2' > test.sh
[root@izbp10lqlgy2g31s41bt94z ~]# cat test.sh
echo $0 $1 $2

執行test.sh 并傳入變量
[root@izbp10lqlgy2g31s41bt94z ~]# sh test.sh i am skyler
test.sh i am

可以看到,三個參數中前兩個打印出來了,因為我們沒有聲明$3,所有打印出了文件名稱和前兩個參數

$# 獲取參數數量

[root@izbp10lqlgy2g31s41bt94z ~]# echo 'echo $# $0 $1' > test.sh
[root@izbp10lqlgy2g31s41bt94z ~]# cat test.sh
echo $# $0 $1
[root@izbp10lqlgy2g31s41bt94z ~]# sh test.sh I am a shuashua
4 test.sh I

$@ $* 數組的形式引用參數列表

它們的區別在于使用雙引號括起來用時,假設傳入的參數為1 2 3,那么"*的值為”1 2 3”一個變量

test.sh
echo '$@的數組參數格式'
for x in "$@"
do
 echo + $x
done
echo '$*的數組參數格式'
for x in "$*"
do
 echo + $x
done

root@izbp10lqlgy2g31s41bt94z:~# sh test.sh 1 2 3
$@的數組參數格式
+ 1
+ 2
+ 3
$*的數組參數格式
+ 1 2 3

$? 判斷上一個命令執行是否成功

執行成功值時0,失敗是非0

[root@izbp10lqlgy2g31s41bt94z ~]# ll
總用量 172
-rw-r--r-- 1 root root 49392 2月 25 2019 hs_err_pid24203.log
-rw-r--r-- 1 root root 49425 2月 13 2019 hs_err_pid25726.log
[root@izbp10lqlgy2g31s41bt94z ~]# echo $?
0
[root@izbp10lqlgy2g31s41bt94z ~]# ca ff
-bash: ca: 未找到命令
[root@izbp10lqlgy2g31s41bt94z ~]# echo $?
127

$() 等同于使用雙引號的作用


$[] 表達式計算

此時的[]不是用于判斷式的場景,[]作為判斷式一般用于bash腳步中if while等條件語句

[root@izbp10lqlgy2g31s41bt94z ~]# echo $[5 + 5]
10

$- 顯示shell所使用的當前選項

[root@izbp10lqlgy2g31s41bt94z ~]# echo $-
himBH

解釋:himBH每一個字符是一個shell的選項,詳情man bash然后搜索 -h -B 等。詳情參考:http://kodango.com/explain-shell-default-options

$! 獲取后臺運行最后一個進程的pid,更多應用在bash腳本

[root@izbp10lqlgy2g31s41bt94z ~]# cat test.sh &
[1] 362
[root@izbp10lqlgy2g31s41bt94z ~]# echo $# $0 $1
^C
[1]+ 完成     cat test.sh
[root@izbp10lqlgy2g31s41bt94z ~]# echo $!
362

!$ 將上一條命令的參數傳遞給下一條命令的參數,平時用于更方便,更多應用在bash腳本

[root@izbp10lqlgy2g31s41bt94z ~]# cd /Users/skyler/project/test
[root@izbp10lqlgy2g31s41bt94z ~]# ll !$
[root@izbp10lqlgy2g31s41bt94z ~]# ll /Users/skyler/project/test
362

!! 將上一條命令輸出 ,平時用于更方便,更多應用在bash腳本

[root@izbp10lqlgy2g31s41bt94z ~]# !!
[root@izbp10lqlgy2g31s41bt94z ~]# ll /Users/skyler/project/test

$$ 獲取當前進程pid

[root@izbp10lqlgy2g31s41bt94z ~]# echo $$
31268
[root@izbp10lqlgy2g31s41bt94z ~]# ps -ef|grep 31268
root  31268 31266 0 08:10 pts/0 00:00:00 -bash

當前的進程是bash,pid是31268

平日多加練習,用時隨心索取

段進行分頁拉取也是可以達到效果的,具體還是要由業務場景來定。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

標簽:長治 臺灣 清遠 中衛 雅安 安陽 興安盟 大慶

巨人網絡通訊聲明:本文標題《linux中$符號的基礎用法總結》,本文關鍵詞  linux,中,符,號的,基礎,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux中$符號的基礎用法總結》相關的同類信息!
  • 本頁收集關于linux中$符號的基礎用法總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区三区日韩| 欧美丰满嫩嫩电影| 国产精品人妖ts系列视频| 欧美国产一区二区在线观看| 国产亚洲欧美色| 蜜臀av一区二区| 色婷婷香蕉在线一区二区| 国产黑丝在线一区二区三区| 色呦呦网站一区| 开心九九激情九九欧美日韩精美视频电影| 综合亚洲深深色噜噜狠狠网站| 亚洲国产综合色| 日韩av在线播放中文字幕| 91在线小视频| 中文字幕在线不卡国产视频| 青青青伊人色综合久久| 欧美中文字幕一区| 91色.com| 不卡区在线中文字幕| 麻豆视频一区二区| 这里只有精品电影| 六月丁香婷婷色狠狠久久| 在线免费观看视频一区| 中文字幕视频一区| 国产一区二区在线电影| 亚洲图片欧美一区| 国产精品素人视频| 色呦呦国产精品| 国产成人精品aa毛片| 国产iv一区二区三区| 日本美女视频一区二区| 蜜臀国产一区二区三区在线播放| 91麻豆成人久久精品二区三区| 国产激情一区二区三区| 蜜桃在线一区二区三区| 欧美高清激情brazzers| 99久久综合99久久综合网站| 国产午夜精品久久久久久久| 99视频在线精品| 亚洲国产一二三| 日韩av中文在线观看| 不卡的av在线播放| 欧美午夜不卡在线观看免费| 蜜臂av日日欢夜夜爽一区| 亚洲精品一区在线观看| 91极品视觉盛宴| 精品综合免费视频观看| 国产精品美女久久久久久久久久久 | 欧美日韩日日摸| 粉嫩久久99精品久久久久久夜| 久久精品国产第一区二区三区 | 麻豆精品视频在线观看视频| 一区二区三区小说| 午夜久久电影网| 国产伦精品一区二区三区免费迷| 亚洲一区在线视频| 亚洲影院免费观看| 偷拍一区二区三区| 人人爽香蕉精品| 国产精一区二区三区| 日本韩国欧美一区| 日韩一级欧美一级| 日韩视频一区二区| 亚洲视频1区2区| 亚洲成人在线观看视频| 91香蕉国产在线观看软件| 亚洲伦理在线精品| 日韩免费观看2025年上映的电影| 91色porny在线视频| 国产成人在线看| 激情成人综合网| 久久成人免费日本黄色| 国产久卡久卡久卡久卡视频精品| 中文子幕无线码一区tr| 国产亚洲欧美激情| 久久老女人爱爱| 国产亚洲欧洲一区高清在线观看| 欧美一区二区三区在线视频| 日韩一区二区免费高清| 国产伦精品一区二区三区免费迷| 亚洲国产美女搞黄色| 狠狠色综合播放一区二区| 成人激情校园春色| www.综合网.com| 欧美不卡一区二区三区| 欧美专区日韩专区| 青娱乐精品在线视频| 成人午夜视频免费看| 日韩欧美你懂的| 天天影视网天天综合色在线播放| 国产主播一区二区| 欧美亚洲综合色| 国产精品欧美一级免费| 麻豆91精品91久久久的内涵| 欧美日韩国产一二三| 综合婷婷亚洲小说| 久久精品国产精品亚洲综合| 色综合久久中文字幕| 中文字幕欧美日本乱码一线二线| 午夜视频久久久久久| 一区二区三区中文字幕精品精品| 欧美xxx久久| 欧美激情一区三区| 日韩av在线免费观看不卡| 粉嫩av一区二区三区粉嫩| 国产真实乱子伦精品视频| 色狠狠av一区二区三区| 一区在线播放视频| 国产成人自拍在线| 国产成人在线影院| 久久久综合九色合综国产精品| 调教+趴+乳夹+国产+精品| 色婷婷综合久久久中文一区二区| 欧美sm极限捆绑bd| 亚洲成a人在线观看| 美女一区二区视频| 日韩精品综合一本久道在线视频| 国产精品网站在线播放| 国产成人精品一区二| 韩国成人在线视频| 日韩精品一区二区三区在线| 久久er99热精品一区二区| 日韩视频在线永久播放| 国产麻豆一精品一av一免费 | 经典三级一区二区| 2014亚洲片线观看视频免费| 91精品在线一区二区| 91视频一区二区三区| 96av麻豆蜜桃一区二区| 国产精品国产三级国产aⅴ原创| 国产iv一区二区三区| 石原莉奈在线亚洲二区| 欧美一区二区女人| www.欧美日韩| 亚洲一二三四久久| 亚洲欧美偷拍三级| 欧美日韩国产综合久久| 精品一区在线看| 久久久精品日韩欧美| 91精品一区二区三区久久久久久 | 亚洲成人精品一区| 久久只精品国产| 在线不卡一区二区| 日韩久久精品一区| 日韩一区二区三区免费观看| 在线观看日韩国产| 91丨porny丨最新| 日本韩国欧美一区| 亚洲免费观看高清完整版在线观看 | 夜夜嗨av一区二区三区| 欧美日韩一区二区三区在线| 粉嫩嫩av羞羞动漫久久久| 亚洲天堂免费在线观看视频| 在线不卡一区二区| 欧美大片免费久久精品三p| 欧美日韩国产三级| 欧美性videosxxxxx| 高清日韩电视剧大全免费| 国产无人区一区二区三区| 精品免费一区二区三区| 制服.丝袜.亚洲.另类.中文| 欧美日精品一区视频| 日韩欧美一二三区| 国产精品久久久久婷婷| 亚洲一区二区在线播放相泽| 视频一区二区三区中文字幕| 爽爽淫人综合网网站 | 国产精品大尺度| 天天综合天天综合色| 国产91丝袜在线18| 8x8x8国产精品| 成人免费在线视频观看| 久久激情综合网| 国产成a人无v码亚洲福利| 欧美日韩国产另类一区| 国产精品午夜免费| 国产精品欧美精品| 国产成人免费视频网站高清观看视频| 色一情一乱一乱一91av| 欧美国产亚洲另类动漫| 国产乱子轮精品视频| 成人听书哪个软件好| 欧美xxxxx裸体时装秀| 国产福利电影一区二区三区| 久久综合精品国产一区二区三区 | 777奇米成人网| 国产午夜精品一区二区三区嫩草 | 91麻豆精品久久久久蜜臀| 欧美一区午夜视频在线观看| 国产精品天天看| 99国产精品久久久| 亚洲日本在线视频观看| 国产91精品入口| 亚洲精品网站在线观看| 欧美午夜片在线观看| 久久99久久99精品免视看婷婷| 久久久久国产精品麻豆| 成a人片亚洲日本久久| 麻豆久久久久久久| 国产欧美日本一区二区三区|