精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何在Linux中使用變量

系統 Linux
有許多重要的值都存儲在 Linux 系統中,我們稱為“變量”,但實際上變量有幾種類型,并且一些有趣的命令可以幫助你使用它們。在上一篇文章中,我們研究了環境變量以及它們定義在何處。在本文中,我們來看一看在命令行和腳本中使用的變量。

[[276912]]

變量通??雌饋硐?$var 這樣,但它們也有 $1、$*、$? 和 $$ 這種形式。讓我們來看看所有這些 $ 值可以告訴你什么。

有許多重要的值都存儲在 Linux 系統中,我們稱為“變量”,但實際上變量有幾種類型,并且一些有趣的命令可以幫助你使用它們。在上一篇文章中,我們研究了環境變量以及它們定義在何處。在本文中,我們來看一看在命令行和腳本中使用的變量。

用戶變量

雖然在命令行中設置變量非常容易,但是有一些有趣的技巧。要設置變量,你只需這樣做:

  1. $ myvar=11
  2. $ myvar2="eleven"

要顯示這些值,只需這樣做:

  1. $ echo $myvar
  2. 11
  3. $ echo $myvar2
  4. eleven

你也可以使用這些變量。例如,要遞增一個數字變量,使用以下任意一個命令:

  1. $ myvar=$((myvar+1))
  2. $ echo $myvar
  3. 12
  4. $ ((myvar=myvar+1))
  5. $ echo $myvar
  6. 13
  7. $ ((myvar+=1))
  8. $ echo $myvar
  9. 14
  10. $ ((myvar++))
  11. $ echo $myvar
  12. 15
  13. $ let "myvar=myvar+1"
  14. $ echo $myvar
  15. 16
  16. $ let "myvar+=1"
  17. $ echo $myvar
  18. 17
  19. $ let "myvar++"
  20. $ echo $myvar
  21. 18

使用其中的一些,你可以增加一個變量的值。例如:

  1. $ myvar0=0
  2. $ ((myvar0++))
  3. $ echo $myvar0
  4. 1
  5. $ ((myvar0+=10))
  6. $ echo $myvar0
  7. 11

通過這些選項,你可能會發現它們是容易記憶、使用方便的。

你也可以刪除一個變量 – 這意味著沒有定義它。

  1. $ unset myvar
  2. $ echo $myvar

另一個有趣的選項是,你可以設置一個變量并將其設為只讀。換句話說,變量一旦設置為只讀,它的值就不能改變(除非一些非常復雜的命令行魔法才可以)。這意味著你也不能刪除它。

  1. $ readonly myvar3=1
  2. $ echo $myvar3
  3. 1
  4. $ ((myvar3++))
  5. -bash: myvar3: readonly variable
  6. $ unset myvar3
  7. -bash: unset: myvar3: cannot unset: readonly variable

你可以使用這些設置和遞增選項中來賦值和操作腳本中的變量,但也有一些非常有用的內部變量可以用于在腳本中。注意,你無法重新賦值或增加它們的值。

內部變量

在腳本中可以使用很多變量來計算參數并顯示有關腳本本身的信息。

  • $1、$2、$3 等表示腳本的第一個、第二個、第三個等參數。
  • $# 表示參數的數量。
  • $* 表示所有參數。
  • $0 表示腳本的名稱。
  • $? 表示先前運行的命令的返回碼(0 代表成功)。
  • $$ 顯示腳本的進程 ID。
  • $PPID 顯示 shell 的進程 ID(腳本的父進程)。

其中一些變量也適用于命令行,但顯示相關信息:

  • $0 顯示你正在使用的 shell 的名稱(例如,-bash)。
  • $$ 顯示 shell 的進程 ID。
  • $PPID 顯示 shell 的父進程的進程 ID(對我來說,是 sshd)。

為了查看它們的結果,如果我們將所有這些變量都放入一個腳本中,比如:

  1. #!/bin/bash
  2.  
  3. echo $0
  4. echo $1
  5. echo $2
  6. echo $#
  7. echo $*
  8. echo $?
  9. echo $$
  10. echo $PPID

當我們調用這個腳本時,我們會看到如下內容:

  1. $ tryme one two three
  2. /home/shs/bin/tryme <== 腳本名稱
  3. one <== 第一個參數
  4. two <== 第二個參數
  5. 3 <== 參數的個數
  6. one two three <== 所有的參數
  7. 0 <== 上一條 echo 命令的返回碼
  8. 10410 <== 腳本的進程 ID
  9. 10109 <== 父進程 ID

如果我們在腳本運行完畢后檢查 shell 的進程 ID,我們可以看到它與腳本中顯示的 PPID 相匹配:

  1. $ echo $$
  2. 10109 <== shell 的進程 ID

當然,比起簡單地顯示它們的值,更有用的方式是使用它們。我們來看一看它們可能的用處。

檢查是否已提供參數:

  1. if [ $# == 0 ]; then
  2. echo "$0 filename"
  3. exit 1
  4. fi

檢查特定進程是否正在運行:

  1. ps -ef | grep apache2 > /dev/null
  2. if [ $? != 0 ]; then
  3. echo Apache is not running
  4. exit
  5. fi

在嘗試訪問文件之前驗證文件是否存在:

  1. if [ $# -lt 2 ]; then
  2. echo "Usage: $0 lines filename"
  3. exit 1
  4. fi
  5.  
  6. if [ ! -f $2 ]; then
  7. echo "Error: File $2 not found"
  8. exit 2
  9. else
  10. head -$1 $2
  11. fi

在下面的小腳本中,我們檢查是否提供了正確數量的參數、第一個參數是否為數字,以及第二個參數代表的文件是否存在。

  1. #!/bin/bash
  2.  
  3. if [ $# -lt 2 ]; then
  4. echo "Usage: $0 lines filename"
  5. exit 1
  6. fi
  7.  
  8. if [[ $1 != [0-9]* ]]; then
  9. echo "Error: $1 is not numeric"
  10. exit 2
  11. fi
  12.  
  13. if [ ! -f $2 ]; then
  14. echo "Error: File $2 not found"
  15. exit 3
  16. else
  17. echo top of file
  18. head -$1 $2
  19. fi

重命名變量

在編寫復雜的腳本時,為腳本的參數指定名稱通常很有用,而不是繼續將它們稱為 $1、$2 等。等到第 35 行,閱讀你腳本的人可能已經忘了 $2 表示什么。如果你將一個重要參數的值賦給 $filename$numlines,那么他就不容易忘記。

  1. #!/bin/bash
  2.  
  3. if [ $# -lt 2 ]; then
  4. echo "Usage: $0 lines filename"
  5. exit 1
  6. else
  7. numlines=$1
  8. filename=$2
  9. fi
  10.  
  11. if [[ $numlines != [0-9]* ]]; then
  12. echo "Error: $numlines is not numeric"
  13. exit 2
  14. fi
  15.  
  16. if [ ! -f $ filename]; then
  17. echo "Error: File $filename not found"
  18. exit 3
  19. else
  20. echo top of file
  21. head -$numlines $filename
  22. fi

當然,這個示例腳本只是運行 head 命令來顯示文件中的前 x 行,但它的目的是顯示如何在腳本中使用內部參數來幫助確保腳本運行良好,或在失敗時清晰地知道失敗原因。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-10-25 09:07:28

Linuxxargs命令

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2018-01-09 09:00:01

Linux命令文件壓縮

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2023-09-14 15:05:33

grep正則表達式

2021-01-13 09:40:26

Linuxexport命令

2011-08-10 09:31:41

Hibernateunion

2022-06-23 08:00:53

PythonDateTime模塊

2022-05-17 08:25:10

TypeScript接口前端

2024-01-18 08:37:33

socketasyncio線程

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2024-09-06 11:34:15

RustAI語言

2014-07-02 09:47:06

SwiftCocoaPods

2020-11-30 11:55:07

Docker命令Linux

2020-04-09 10:18:51

Bash循環Linux

2021-03-14 09:28:24

Linux Shell腳本
點贊
收藏

51CTO技術棧公眾號

91精品国产成人| 亚洲精品v欧美精品v日韩精品| 午夜精品一区二区在线观看| 国产乱码精品一区二区三区精东 | 成人精品视频一区| 日韩av123| 18岁成人毛片| 国产精品一区高清| 欧美xxx久久| 亚洲人辣妹窥探嘘嘘| 欧洲黄色一区| 国产精品美女久久久久久久久| 5566av亚洲| www.五月婷婷.com| 欧美日韩一区二区国产| 亚洲美女av在线| 337p日本欧洲亚洲大胆张筱雨 | 国产91视觉| 中文字幕人妻一区二区在线视频 | 亚洲精品国产精品乱码不99| 美女三级99| 成人久久精品人妻一区二区三区| 日韩av一区二区在线影视| 欧美—级高清免费播放| 亚洲欧美精品久久| 成久久久网站| 亚洲欧洲免费视频| www.17c.com喷水少妇| 国产 日韩 欧美| 欧美日韩一区高清| 国产天堂在线播放| 一区二区电影免费观看| 五月综合激情日本mⅴ| 激情六月天婷婷| 欧美成人三区| 久久人人爽人人爽| 六月婷婷久久| 偷拍精品一区二区三区| 成人高清av在线| 成人女人免费毛片| 99久久精品免费看国产交换| 蜜臂av日日欢夜夜爽一区| 5566日本婷婷色中文字幕97| 欧美三级一区二区三区| 欧美涩涩网站| 欧美高跟鞋交xxxxhd| 黄色一级视频在线观看| 好看的av在线不卡观看| 欧美人与性动交| 免费中文字幕视频| 亚洲小说欧美另类社区| 欧美激情一区二区三区久久久| 欧美 日韩 国产 一区二区三区| 婷婷伊人综合| 久久成人精品视频| 麻豆91精品91久久久| 亚洲午夜91| 午夜精品在线观看| 亚洲免费黄色网址| 久久精品亚洲| 国产精品嫩草视频| 国产乱码精品一区二区| 国产不卡视频在线播放| 国产日韩在线一区二区三区| 欧美孕妇孕交| 国产精品欧美一区喷水| 一道本在线观看视频| av免费看在线| 婷婷久久综合九色综合绿巨人| 久久精品国产sm调教网站演员| 超碰成人av| 在线国产电影不卡| 亚洲无在线观看| 北条麻妃一区二区三区在线观看 | 日韩欧美黄色网址| 天天av综合| 久久久久国色av免费观看性色| 波多野结衣国产| 麻豆国产精品官网| 99视频免费观看蜜桃视频| 四虎影院在线播放| 欧美精品一区二区久久| 色综久久综合桃花网| 中文字幕影音先锋| 午夜一级久久| 国产精品人人做人人爽| www.桃色av嫩草.com| 91捆绑美女网站| 中文字幕制服丝袜在线| 色一区二区三区| 欧美精品乱码久久久久久| 99re久久精品国产| 四虎成人av| 国色天香2019中文字幕在线观看| 无码人妻av免费一区二区三区 | 精品人妻一区二区三区蜜桃视频| 天天综合亚洲| 555www成人网| 精品国自产拍在线观看| 国产香蕉久久精品综合网| 久久国产精品免费观看| 男人最爱成人网| 日韩一区二区免费在线电影| 谁有免费的黄色网址| 国产综合婷婷| 91麻豆国产语对白在线观看| 亚洲欧美一区二区三| 亚洲视频 欧洲视频| 97xxxxx| 一区二区三区在线资源| 中文日韩在线观看| 国产精品视频123| 国产成人在线视频播放| 一区二区成人国产精品 | 蜜乳av另类精品一区二区| 91在线观看免费高清| 国产视频第一区| 精品人伦一区二区三区蜜桃免费| 在线免费黄色网| 青青草91久久久久久久久| 4438全国亚洲精品在线观看视频| 精品久久久中文字幕人妻| 国产精品色在线观看| 成人黄色片视频| 神马香蕉久久| 国内精品小视频在线观看| 国产又爽又黄又嫩又猛又粗| 国产午夜精品一区二区三区视频| 奇米影视亚洲色图| 亚洲午夜免费| 欧美大片在线看| a视频免费在线观看| 国产精品白丝在线| 黄色在线视频网| 欧美偷拍自拍| 国产极品精品在线观看| 免费福利在线视频| 欧美午夜视频在线观看| 玖草视频在线观看| 一本色道88久久加勒比精品| 国产高清在线精品一区二区三区| 人人澡人人添人人爽一区二区| 日韩一区二区三区av| 欧美精品成人久久| 国产成人啪免费观看软件| 精品国产一区二区三区在线| 国产aa精品| 欧美国产在线电影| 日韩在线观看视频一区二区三区| 午夜电影一区二区三区| 日本黄色特级片| 美女网站久久| 亚洲日本一区二区三区在线不卡| 成人自拍视频网| 色婷婷久久av| 国产黄色片av| 亚洲国产wwwccc36天堂| 日韩网站在线播放| 日本中文字幕不卡| 伊人狠狠色丁香综合尤物| 国产欧美日韩电影| 欧美精品久久久久久久久久| 香蕉视频成人在线| 欧洲亚洲国产日韩| 久草视频手机在线| 成人性视频免费网站| www.com毛片| 欧美综合久久| 91欧美激情另类亚洲| 美足av综合网| 亚洲欧美999| 中文字幕一区二区三区四区视频 | 欧美激情亚洲精品| 亚洲欧洲精品视频| 精品视频资源站| 久久久久久久国产视频| 91在线观看免费视频| 亚洲一区在线不卡| 欧美视频不卡| 日本精品国语自产拍在线观看| 欧美一级做a| 高清欧美性猛交xxxx| 东凛在线观看| 日韩免费视频一区| 337p粉嫩色噜噜噜大肥臀| 亚洲丝袜另类动漫二区| 欧美bbbbb性bbbbb视频| 激情另类小说区图片区视频区| 欧美日韩福利在线| 不卡中文一二三区| 国产综合色一区二区三区| 成人亚洲视频| 69久久夜色精品国产7777| 2019中文字幕在线视频| 亚洲国产精彩中文乱码av在线播放| 四虎影院在线免费播放| 亚洲资源中文字幕| 四虎成人免费影院| 9i在线看片成人免费| 亚洲免费成人在线视频| 丝袜美腿高跟呻吟高潮一区| 一本大道东京热无码aⅴ| 国产精品一区二区av日韩在线| 91视频免费在线观看| 亚洲第一会所| 97超级碰碰人国产在线观看| 高清免费电影在线观看| 亚洲视频在线看| 欧美视频xxx| 欧美一级片在线| 欧美 亚洲 另类 激情 另类| 无吗不卡中文字幕| 久久久久黄色片| 综合久久国产九一剧情麻豆| 日韩丰满少妇无码内射| 久久综合九色综合欧美就去吻| 在线观看欧美一区二区| 麻豆精品久久久| 嫩草影院国产精品| 久久国产66| 国产视频九色蝌蚪| 合欧美一区二区三区| 欧美 国产 精品| 91成人免费| 亚洲一区二区三区乱码| 欧美色蜜桃97| 日韩性感在线| 欧美理论视频| 婷婷四月色综合| 精品大片一区二区| 日本免费高清一区二区| 亚洲成人一品| 欧美日韩系列| 精品国内自产拍在线观看视频 | 欧美日韩免费看| 日本一级一片免费视频| 性做久久久久久| 精品在线视频免费| 亚洲成av人片在线| 国产乱码久久久久久| 亚洲第一成人在线| 日韩成人在线免费视频| 亚洲一区二区美女| 国产无遮挡裸体免费视频| 一区二区三区产品免费精品久久75 | 国产精品一区二区三区美女| 不卡一区二区三区四区五区| 日韩精品视频一区二区三区| 成人黄色片视频网站| 波多野结衣在线一区二区| 国产女主播一区二区三区| 欧美做受69| 日韩av图片| 国产精品国产三级国产在线观看| 在线观看精品视频| 中文字幕亚洲精品乱码| 999久久欧美人妻一区二区| 亚洲第一在线| 亚洲国产精品久久久久爰色欲| 亚洲激情av| 国产天堂在线播放| 久国产精品韩国三级视频| www.久久com| caoporen国产精品视频| 少妇大叫太粗太大爽一区二区| 国产色91在线| 久久精品这里只有精品| 狠狠色噜噜狠狠狠狠97| 这里只有久久精品视频| 欧美一区二区三区视频免费| 亚洲国产精品一| 亚洲男女性事视频| 性开放的欧美大片| 欧美激情啊啊啊| 日韩不卡免费高清视频| 亚洲在线免费看| 五月激激激综合网色播| 亚洲三区视频| 亚洲茄子视频| 午夜宅男在线视频| k8久久久一区二区三区| 日本精品久久久久中文| 亚洲午夜精品网| 青青艹在线观看| 精品国产免费视频| 成年人在线观看| 久久久久久久久久久av| 精品裸体bbb| 精品中文字幕人| 99久久久久| 欧美亚洲国产成人| 精品一区二区三区蜜桃| 手机在线看片日韩| 亚洲视频综合在线| youjizz在线视频| 精品久久久久久久久久久久包黑料| 国产视频第一页在线观看| 欧美国产日韩二区| 国产激情欧美| 欧美日韩一区二区三| 国内精品99| 伊人国产精品视频| 国产清纯白嫩初高生在线观看91 | 九义人在线观看完整免费版电视剧| 97久久精品视频| 国产一区二区三区视频在线 | 综合在线视频| 日韩中文字幕免费在线 | 高清国产在线观看| 香蕉影视欧美成人| 99免费在线视频| 伊人久久免费视频| 在线天堂资源www在线污| 成人在线视频电影| 中文在线播放一区二区| 中文字幕国内自拍| 久久久久久久久久久久久久久99| 久久精品欧美一区二区| 日韩一区二区三| 黄色网在线看| 国产欧美日韩综合精品| 成人黄色小视频| 狠狠操精品视频| 国产香蕉久久精品综合网| 欧美日韩综合一区二区三区| 亚洲精品97久久| av岛国在线| 国产日韩一区二区三区| 亚洲激情二区| 亚洲av人人澡人人爽人人夜夜| 一级中文字幕一区二区| av片免费播放| 欧美成人免费小视频| 国产精品毛片无码| 香蕉视频免费版| 国产精品一品二品| 青春草免费视频| 日韩欧美一区二区免费| 日韩精品亚洲人成在线观看| 2019国产精品视频| 午夜久久影院| 日韩大尺度视频| 午夜精品久久久| 日本一级在线观看| 国产ts人妖一区二区三区| 国产在线观看91一区二区三区| 日本xxxxxxx免费视频| 国产视频一区在线观看 | 精一区二区三区| www.av免费| 日韩精品在线一区二区| 激情av在线| 久久99精品久久久久久三级| 99成人精品| 三上悠亚影音先锋| 欧美亚洲动漫精品| 黄色在线播放网站| 国产 高清 精品 在线 a| 亚洲激情av| 日韩免费成人av| 欧美一区二区三区四区高清| 美女尤物在线视频| 久久综合狠狠综合久久综青草| 日韩中文字幕区一区有砖一区| 中文字幕第二区| 日韩免费看网站| 色网在线免费观看| 伊人天天久久大香线蕉av色| 国产精品99久久久久久久vr| 日韩久久精品视频| 在线观看国产精品淫| 精品久久久久久久久久岛国gif| 免费看欧美黑人毛片| 久久久久久影视| 99国产精品99| 热re99久久精品国产66热| 99视频精品全部免费在线视频| 无码国产精品久久一区免费| 色综合久久中文字幕| 99热国产在线| 麻豆一区区三区四区产品精品蜜桃| 蜜臀av性久久久久蜜臀aⅴ| 欧美精品一区二区成人| 国产视频自拍一区| 国产精品亚洲四区在线观看| 男人揉女人奶房视频60分| 亚洲丝袜美腿综合| 欧美偷拍视频| 99re在线国产| 日本特黄久久久高潮| 久久久久成人片免费观看蜜芽| 亚洲性生活视频在线观看| 亚洲五码在线| 中文字幕av不卡在线| 婷婷久久综合九色综合绿巨人| 欧美三级黄网| 日本高清不卡一区二区三| 国产成人综合网| 亚洲一级在线播放| 欧美在线欧美在线|