曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>linux shell 腳本入門

linux shell 腳本入門

2017-11-07 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 1. Linux 腳本編寫基礎(chǔ)
  1.1 語法基本介紹
  1.1.1 開頭
  程序必須以下面的行開始(必須方在文件的第一行):
  #!/bin/sh
  符號(hào)#!用來告訴系統(tǒng)它后面的參數(shù)是用來執(zhí)行該文件的程序。在這個(gè)例子中我們使用/bin/sh來執(zhí)行程序。
  當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。
  要使腳本可執(zhí)行:
  編譯 chmod +x filename 這樣才能用。/filename 來運(yùn)行
  1.1.2 注釋
  在進(jìn)行shell編程時(shí),以#開頭的句子表示注釋,直到這一行的結(jié)束。我們真誠(chéng)地建議您在程序中使用注釋。
  如果您使用了注釋,那么即使相當(dāng)長(zhǎng)的時(shí)間內(nèi)沒有使用該腳本,您也能在很短的時(shí)間內(nèi)明白該腳本的作用
  及工作原理。
  1.1.3 變量
  在其他編程語言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對(duì)變量
  進(jìn)行聲明。要賦值給一個(gè)變量,您可以這樣寫:
  #!/bin/sh
  #對(duì)變量賦值:
  a=“hello world”
  # 現(xiàn)在打印變量a的內(nèi)容:
  echo “A is:”
  echo $a
  有時(shí)候變量名很容易與其他文字混淆,比如:
  num=2
  echo “this is the $numnd”
  這并不會(huì)打印出“this is the 2nd”,而僅僅打印“this is the ”,因?yàn)閟hell會(huì)去搜索變量numnd的值,
  但是這個(gè)變量時(shí)沒有值的??梢允褂没ɡㄌ?hào)來告訴shell我們要打印的是num變量:
  num=2
  echo “this is the ${num}nd”
  這將打?。?this is the 2nd
  1.1.4 環(huán)境變量
  由export關(guān)鍵字處理過的變量叫做環(huán)境變量。我們不對(duì)環(huán)境變量進(jìn)行討論,因?yàn)橥ǔG闆r下僅僅在登錄
  腳本中使用環(huán)境變量。
  1.1.5 Shell命令和流程控制
  在shell腳本中可以使用三類命令:
  1)Unix 命令:
  雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對(duì)更常用的命令。這些命令通常是用來
  進(jìn)行文件和文字操作的。
  常用命令語法及功能
  echo “some text”: 將文字內(nèi)容打印在屏幕上
  ls: 文件列表
  wc –l filewc -w filewc -c file: 計(jì)算文件行數(shù)計(jì)算文件中的單詞數(shù)計(jì)算文件中的字符數(shù)
  cp sourcefile destfile: 文件拷貝
  mv oldname newname : 重命名文件或移動(dòng)文件
  rm file: 刪除文件
  grep ‘pattern’ file: 在文件內(nèi)搜索字符串比如:grep ‘searchstring’ file.txt
  cut -b colnum file: 指定欲顯示的文件內(nèi)容范圍,并將它們輸出到標(biāo)準(zhǔn)輸出設(shè)備比如:輸出
  每行第5個(gè)到第9個(gè)字符cut -b5-9 file.txt千萬不要和cat命令混淆,
  這是兩個(gè)完全不同的命令
  cat file.txt: 輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上
  file somefile: 得到文件類型
  read var: 提示用戶輸入,并將輸入賦值給變量
  sort file.txt: 對(duì)file.txt文件中的行進(jìn)行排序
  uniq: 刪除文本文件中出現(xiàn)的行列比如: sort file.txt | uniq
  expr: 進(jìn)行數(shù)學(xué)運(yùn)算Example: add 2 and 3expr 2 “+” 3
  find: 搜索文件比如:根據(jù)文件名搜索find 。 -name filename -print
  tee: 將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕) 和文件比如:somecommand | tee outfile
  basename file: 返回不包含路徑的文件名比如: basename /bin/tux將返回 tux
  dirname file: 返回文件所在路徑比如:dirname /bin/tux將返回 /bin
  head file: 打印文本文件開頭幾行
  tail file : 打印文本文件末尾幾行
  sed: Sed是一個(gè)基本的查找替換程序。可以從標(biāo)準(zhǔn)輸入(比如命令管道)讀入文本,并將
  結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕)。該命令采用正則表達(dá)式(見參考)進(jìn)行搜索。
  不要和shell中的通配符相混淆。比如:將linuxfocus 替換為
  LinuxFocus :cat text.file | sed ‘s/linuxfocus/LinuxFocus/’ 》 newtext.file
  awk: awk 用來從文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。
  cat file.txt | awk -F, ‘{print $1 “,” $3 }’這里我們使用,作為字段分割符,同時(shí)打印
  第一個(gè)和第三個(gè)字段。如果該文件內(nèi)容如下: Adam Bor, 34, IndiaKerry Miller, 22, USA
  命令輸出結(jié)果為:Adam Bor, IndiaKerry Miller, USA
  2) 概念: 管道, 重定向和 backtick
  這些不是系統(tǒng)命令,但是他們真的很重要。
  管道 (|) 將一個(gè)命令的輸出作為另外一個(gè)命令的輸入。
  grep “hello” file.txt | wc -l
  在file.txt中搜索包含有”hello”的行并計(jì)算其行數(shù)。
  在這里grep命令的輸出作為wc命令的輸入。當(dāng)然您可以使用多個(gè)命令。
  重定向:將命令的結(jié)果輸出到文件,而不是標(biāo)準(zhǔn)輸出(屏幕)。
  》 寫入文件并覆蓋舊文件
  》》 加到文件的尾部,保留舊文件內(nèi)容。
  反短斜線
  使用反短斜線可以將一個(gè)命令的輸出作為另外一個(gè)命令的一個(gè)命令行參數(shù)。
  命令:
  find 。 -mtime -1 -type f -print
  用來查找過去24小時(shí)(-mtime –2則表示過去48小時(shí))內(nèi)修改過的文件。如果您
  想將所有查找到的文件打一個(gè)包,則可以使用以下腳本:
  #!/bin/sh
  # The ticks are backticks (`) not normal quotes (‘):
  tar -zcvf lastmod.tar.gz `find 。 -mtime -1 -type f -print`
  3) 流程控制
  1.if
  “if” 表達(dá)式 如果條件為真則執(zhí)行then后面的部分:
  if 。..。; then
  。..。
  elif 。..。; then
  。..。
  else
  。..。
  fi
  大多數(shù)情況下,可以使用測(cè)試命令來對(duì)條件進(jìn)行測(cè)試。比如可以比較字符串、判斷文件
  是否存在及是否可讀等等…
  通常用“ [ ] ”來表示條件測(cè)試。注意這里的空格很重要。要確保方括號(hào)的空格。
  [ -f “somefile” ] :判斷是否是一個(gè)文件
 ?。?-x “/bin/ls” ] :判斷/bin/ls是否存在并有可執(zhí)行權(quán)限
 ?。?-n “$var” ] :判斷$var變量是否有值
  [ “$a” = “$b” ] :判斷$a和$b是否相等
  執(zhí)行man test可以查看所有測(cè)試表達(dá)式可以比較和判斷的類型。
  直接執(zhí)行以下腳本:
  #!/bin/sh
  if [ “$SHELL” = “/bin/bash” ]; then
  echo “your login shell is the bash (bourne again shell)”
  else
  echo “your login shell is not bash but $SHELL”
  fi
  變量$SHELL包含了登錄shell的名稱,我們和/bin/bash進(jìn)行了比較。
  快捷操作符
  熟悉C語言的朋友可能會(huì)很喜歡下面的表達(dá)式:
  [ -f “/etc/shadow” ] && echo “This computer uses shadow passwors”
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1GD100PIX120C6SNA規(guī)格書
  2. 0.98 MB   |  3次下載  |  免費(fèi)
  3. 2一款入耳式耳機(jī)的仿真與分析
  4. 0.44 MB   |  2次下載  |  免費(fèi)
  5. 3Eurotherm TKS Temperature 用戶手冊(cè)
  6. 1.46 MB  |  2次下載  |  免費(fèi)
  7. 4人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
  8. 4.27 MB   |  2次下載  |  免費(fèi)
  9. 5無線系統(tǒng)中天線和RF元件電磁建模
  10. 7.48 MB   |  1次下載  |  4 積分
  11. 6Multisim模擬電路仿真教程
  12. 1.93 MB   |  1次下載  |  3 積分
  13. 7DMP300C1型微機(jī)變壓器保護(hù)測(cè)控裝置技術(shù)說明書
  14. 4.11 MB   |  次下載  |  10 積分
  15. 8用MT3540芯片設(shè)計(jì)BOOST電路 1(可下載)
  16. 445.66 KB  |  次下載  |  免費(fèi)

本月

  1. 1晶體三極管的電流放大作用詳細(xì)說明
  2. 0.77 MB   |  32次下載  |  2 積分
  3. 2Python從入門到精通背記手冊(cè)
  4. 18.77 MB   |  27次下載  |  1 積分
  5. 3雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
  6. 4.03 MB   |  25次下載  |  1 積分
  7. 4AIWA HS-J303 MKⅡ維修手冊(cè)
  8. 22.47 MB   |  23次下載  |  10 積分
  9. 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
  10. 1.81 MB   |  21次下載  |  2 積分
  11. 6九陽豆?jié){機(jī)高清原理圖
  12. 2.47 MB   |  20次下載  |  1 積分
  13. 7AIWA HS-J202/HS-J202M/HS-J800維修手冊(cè)
  14. 13.60 MB   |  15次下載  |  10 積分
  15. 81875功放原理圖
  16. 0.04 MB   |  11次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191382次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183337次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81585次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分