精品欧美一区二区三区在线观看 _久久久久国色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丨九色丨丰满| 首页亚洲中字| 亚洲小说欧美激情另类| 日韩视频免费观看| 国产99久久九九精品无码| 国产裸体永久免费无遮挡| 国产一区二区三区不卡视频网站| 亚洲高清不卡在线| 亚洲自拍欧美色图| 精品一区二区在线观看视频| 欧美精品总汇| 久久先锋影音av鲁色资源| 久久久人成影片一区二区三区观看| 国产免费人做人爱午夜视频| 99热这里精品| 亚洲澳门在线| 欧美精品日韩一本| 视频一区免费观看| 啪啪小视频网站| japanese国产精品| 欧美在线你懂得| 亚洲精品国产精品国自产| 中文字幕日韩免费| 一区二区三区韩国免费中文网站| 精品日本高清在线播放 | 你懂得影院夜精品a| 亚洲少妇30p| 国产精品综合久久久| 级毛片内射视频| 无人区在线高清完整免费版 一区二| 亚洲欧洲国产日本综合| 成人午夜在线观看| 精品欧美一区二区久久久久| 亚洲性视频在线| 亚洲一区二区三区四区的| 日本在线观看一区| 成人黄色片在线观看| 亚洲人成人一区二区三区| 日韩久久精品成人| 日本在线观看免费视频| 一区二区三区视频网站| 成人精品电影| 亚洲经典中文字幕| 精品免费国产一区二区| 黄视频网站在线观看| 国产亚洲一区字幕| 国产精品日韩在线播放| 成熟的女同志hd| 成人h动漫免费观看网站| 精品毛片网大全| 日韩欧美视频一区二区| 亚洲欧美色视频| 日本特黄久久久高潮| 久久综合伊人77777| 极品人妻一区二区| 成人观看网址| 亚洲午夜精品在线| 欧美久久久久久久久久久久久久| 天堂中文在线视频| 蜜臀久久久99精品久久久久久| 久久精品91久久久久久再现| 91丝袜在线观看| 青青国产精品| 精品国产31久久久久久| 日韩视频免费播放| se在线电影| 成人一区二区三区在线观看 | 日韩精品大片| 成人免费高清在线播放| 国产精品无圣光一区二区| 亚洲一区二区中文字幕| a网站在线观看| 丁香婷婷综合网| 好看的日韩精品| 一级特黄aaa大片| 国内一区二区视频| 欧洲精品在线视频| 免费在线看黄网址| 久久精品国产68国产精品亚洲| 日韩精品专区在线影院观看| 亚洲视频在线a| 激情亚洲小说| 色噜噜狠狠成人网p站| av动漫在线播放| porn亚洲| 亚洲精品视频一区二区| 亚洲欧洲精品一区| 欧美videossex另类| 亚洲国产高清在线| 在线观看成人免费| 北岛玲一区二区三区| 国产精品美女久久久久av爽李琼| 国产美女精品久久久| 波多野结衣人妻| 亚洲黄页一区| 国产精品久久久久久久7电影| 国产在线观看免费视频今夜| 欧美国产美女| 欧美激情国产精品| 久久久久亚洲av无码专区体验| 黄色精品一区| 久久97久久97精品免视看| 中文字幕求饶的少妇| 欧美极品一区二区三区| 久久这里只有精品99| 国产第一页在线播放| 日韩高清不卡一区二区| 日韩av观看网址| www.伊人久久| 国产精品亚洲综合久久| 97精品欧美一区二区三区| 久久免费视频精品| 欧美日韩亚洲三区| 国产精品午夜视频| 欧美特黄一级视频| 成人黄色国产精品网站大全在线免费观看| 成人春色激情网| 色鬼7777久久| 久久久久久久网| 日韩理论片在线观看| 欧美人与动牲性行为| 欧美视频完全免费看| www.com操| 日韩成人精品一区二区三区| 亚洲激情免费观看| 91视频综合网| 麻豆91在线播放免费| 成人美女免费网站视频| 日本成人一区二区三区| 亚洲一区二区在线播放相泽| www.51色.com| 国产福利资源一区| 精品一区电影国产| 免费一级a毛片夜夜看| 久久国产尿小便嘘嘘| 日本在线观看一区| 亚洲黄色免费av| 欧美性生活影院| 国产吞精囗交久久久| 精品久久久久久久| 51精品在线观看| 超碰在线免费97| 91视频国产资源| 午夜视频久久久| 老司机成人影院| 欧美日韩高清一区二区三区| 亚洲欧美日韩中文字幕在线观看| 色777狠狠狠综合伊人| 欧美大胆a视频| www欧美在线| 91麻豆蜜桃一区二区三区| 777av视频| 久久动漫网址| 中文字幕精品www乱入免费视频| 97精品在线播放| 国产一区二区三区四区三区四| 成人黄色免费看| 午夜免费福利在线观看| 欧美日韩高清一区二区三区| 国产精品久久国产精麻豆96堂| 日本伊人精品一区二区三区观看方式| 日本精品一区二区三区视频| 免费不卡视频| 欧美色xxxx| 一级黄色免费毛片| 国产成人精品三级高清久久91| 国产91av在线| 成人免费一区二区三区视频网站| 欧美三级三级三级| www.17c.com喷水少妇| 日韩视频三区| 91人成网站www| 欧美日韩国产综合视频| 亚洲精品国产一区二区精华液| 情侣黄网站免费看| 亚洲一区网址| 91国产精品91| 亚洲高清在线观看视频| 中文一区二区在线观看| 天堂av8在线| 精品久久一区| 成人精品视频久久久久| 欧美人与性动交α欧美精品济南到| 亚洲白虎美女被爆操| 色哟哟一一国产精品| 国产99久久久国产精品免费看| 亚洲第一综合| 精品国产鲁一鲁****| 在线观看中文字幕亚洲| 国产精品一区二区三区四| 久久久精品中文字幕麻豆发布| 欧美午夜aaaaaa免费视频| 在线精品小视频| 国产精品网红直播| 午夜伦理大片视频在线观看| 欧美日本韩国一区| 精品无码av在线| 国产日韩v精品一区二区| 天堂网成人在线| 免费看的黄色欧美网站| 好看的日韩精品| 日本午夜免费一区二区| 69av在线播放| 好操啊在线观看免费视频| 欧美色偷偷大香| 亚洲国产综合久久| av在线免费不卡| 成人网站免费观看入口| 日韩av有码| 精品久久精品久久| 动漫一区二区三区| 欧美成人在线免费视频| 久久久久久女乱国产| 日韩欧美的一区二区| 天天综合久久综合| 图片区小说区国产精品视频| 懂色av粉嫩av蜜臀av一区二区三区| 97久久精品人人澡人人爽| 欧美性潮喷xxxxx免费视频看| 精品不卡一区| 久久国产精品-国产精品| 松下纱荣子在线观看| 欧美成人在线免费视频| 日本视频在线观看| 亚洲网站视频福利| 久草热在线观看| 天天影视色香欲综合网老头| 欧美日韩在线观看成人| 国产精品私人影院| 波多野在线播放| 久久众筹精品私拍模特| 精品一区二区三区四区五区六区| 999亚洲国产精| 天天做天天躁天天躁| 国产精品99一区二区三| 91免费在线观看网站| 欧美四级在线| 九色精品美女在线| 国产乱色在线观看| 久久精品视频导航| 人人干在线视频| 中文字幕日韩有码| 国产成人天天5g影院在线观看| 欧美三级视频在线| 一区二区三区麻豆| 91国产福利在线| 国产主播第一页| 色婷婷av一区二区三区软件 | 国产一区亚洲| 丁香色欲久久久久久综合网| 在线国产一区| 日韩欧美精品免费| 在线日本制服中文欧美| 久久久一本精品99久久精品66 | 成人免费网站观看| 91精品国产777在线观看| 黄色漫画在线免费看| 91精品国产色综合久久不卡98口| 999福利在线视频| 色综合伊人色综合网| 成人毛片在线免费观看| 色哟哟欧美精品| 欧美久久久久久久久久久久| 亚洲欧美成aⅴ人在线观看| 深夜福利影院在线观看| 亚洲午夜久久久久久久久久久| 久久狠狠高潮亚洲精品| 亚洲视频在线一区二区| a在线视频播放观看免费观看| 亚洲综合在线视频| 国产极品视频在线观看| av电影在线观看一区| av网站免费在线播放| 欧美国产日韩在线观看| 国产精品无码电影| 国产在线精品视频| 国产一级特黄a大片免费| 一本色道精品久久一区二区三区| 夫妻免费无码v看片| 日韩综合小视频| 手机在线免费毛片| 99天天综合性| 色www亚洲国产阿娇yao| 亚洲在线视频网站| 在线观看国产区| 欧美一级高清大全免费观看| 中文字幕在线观看免费| 午夜久久久久久| 久久久一二三区| 色婷婷精品久久二区二区蜜臀av| 一级久久久久久久| 亚洲福利视频专区| 亚洲精品久久久蜜桃动漫| 亚洲国产一区二区三区四区| 国产福利电影在线| 亚洲第一区在线观看| 成人在线观看一区| 色综合亚洲精品激情狠狠| 24小时免费看片在线观看| 日韩免费观看网站| 中文在线免费一区三区| 欧美黑人xxxxx| 国产精品一区二区三区美女| 快播日韩欧美| 风间由美性色一区二区三区四区| 欧日韩一区二区三区| 亚洲激情中文| 欧美s码亚洲码精品m码| 久久av老司机精品网站导航| 青娱乐自拍偷拍| 国产精品99一区二区| 日本wwww视频| 国产精品一区二区三区四区| 少妇精品无码一区二区免费视频| 91视视频在线观看入口直接观看www | 日本三级欧美三级| 欧美午夜精品久久久久久浪潮 | 国产69久久| 色一区av在线| www.综合| 成人美女免费网站视频| 天堂网av成人| 人人妻人人澡人人爽欧美一区双| 蜜桃av一区二区在线观看| 天天躁日日躁狠狠躁av麻豆男男 | 韩日毛片在线观看| 亚洲aa在线观看| 成人精品久久| 国产淫片av片久久久久久| 成人性生交大片免费看视频在线 | 亚洲精品欧美在线| 亚洲自拍偷拍另类| 欧美在线999| 欧美性猛交 xxxx| 午夜免费日韩视频| 国产精品欧美一区二区三区不卡 | 神马午夜久久| 97成人在线免费视频| 欧美日韩一卡| 看欧美ab黄色大片视频免费| 久久日韩粉嫩一区二区三区| xxxx 国产| 亚洲成人激情在线观看| a级片国产精品自在拍在线播放| 久久亚洲精品网站| 国产成+人+综合+亚洲欧美| 国产精品一区av| 青青草国产成人a∨下载安卓| 久久精品.com| 99天天综合性| 中文字幕免费观看| 亚洲另类xxxx| 精品免费av在线| 日产精品久久久一区二区| 亚洲欧美激情诱惑| 欧美在线一级片| 懂色aⅴ精品一区二区三区蜜月| 熟妇人妻av无码一区二区三区| 亚洲精品mp4| 第一av在线| 国产日韩欧美在线视频观看| 一区三区自拍| 中文字幕精品一区日韩| 蜜桃久久久久久| 国产免费久久久久| 色综合久久中文综合久久97| 色wwwwww| 国产成人精品电影| 国产欧美日韩一区二区三区四区| 天堂…中文在线最新版在线| 久久人人爽爽爽人久久久| 日本免费在线观看视频| 91精品国产黑色紧身裤美女| 亚欧洲精品视频| 日本aⅴ大伊香蕉精品视频| 精品免费视频| 日本 片 成人 在线| 一区二区三区在线观看欧美 | 亚洲大胆人体av| 在线日韩影院| 亚洲精品久久区二区三区蜜桃臀 | 亚洲一二三四在线观看| 免费看av毛片| 国产日韩精品综合网站| 真实国产乱子伦精品一区二区三区| 久久久久无码国产精品一区李宗瑞 | 欧美寡妇偷汉性猛交| 亚瑟一区二区三区四区| 五月婷婷狠狠操| 一片黄亚洲嫩模| 欧洲视频在线免费观看| 成人国产精品色哟哟| 国产专区一区| 亚洲观看黄色网| 欧美精品久久99久久在免费线 | 欧美一级成年大片在线观看| 国产精品免费不|