亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? linux_shell

?? linux 下一些常用練習的SHELL腳本編寫的樣例程序。
??
?? 第 1 頁 / 共 5 頁
字號:
weight=1# one arg must be given:[ -z "$1" ] && helpbinnum="$1"binnumorig="$1"while [ -n "$binnum" ]; do  lastchar "$binnum"  if [ "$rval" = "1" ]; then    sum=`expr "$weight" "+" "$sum"`  fi  # remove the last position in $binnum  chop "$binnum"  binnum="$rval"  weight=`expr "$weight" "*" 2`doneecho "binary $binnumorig is decimal $sum"   該腳本使用的算法是利用十進制和二進制數權值 (1,2,4,8,16,..),比如二進制"10"可以這樣轉換成十進制:0 * 1 + 1 * 2 = 2  為了得到單個的二進制數我們是用了lastchar 函數。該函數使用wc –c計算字符個數,然后使用cut命令取出末尾一個字符。Chop函數的功能則是移除最后一個字符。    文件循環程序  或許您是想將所有發出的郵件保存到一個文件中的人們中的一員,但是在過了幾個月以后,這個文件可能會變得很大以至于使對該文件的訪問速度變慢。下面的 腳本rotatefile可以解決這個問題。這個腳本可以重命名郵件保存文件(假設為outmail)為outmail.1,而對于outmail.1就變成了outmail.2 等等等等...#!/bin/sh# vim: set sw=4 ts=4 et:ver="0.1"help(){  cat <rotatefile -- rotate the file nameUSAGE: rotatefile [-h] filenameOPTIONS: -h help textEXAMPLE: rotatefile outThis will e.g rename out.2 to out.3, out.1 to out.2, out to out.1and create an empty out-fileThe max number is 10version $verHELP  exit 0}error(){  echo "$1"  exit 1}while [ -n "$1" ]; docase $1 in  -h) help;shift 1;;  --) break;;  -*) echo "error: no such option $1. -h for help";exit 1;;  *) break;;esacdone# input check:if [ -z "$1" ] ; thenerror "ERROR: you must specify a file, use -h for help"fifilen="$1"# rename any .1 , .2 etc file:for n in 9 8 7 6 5 4 3 2 1; do  if [ -f "$filen.$n" ]; then    p=`expr $n + 1`    echo "mv $filen.$n $filen.$p"    mv $filen.$n $filen.$p  fidone# rename the original file:if [ -f "$filen" ]; then  echo "mv $filen $filen.1"  mv $filen $filen.1fiecho touch $filentouch $filen  這個腳本是如何工作的呢?在檢測用戶提供了一個文件名以后,我們進行一個9到1的循環。文件9被命名為10,文件8重命名為9等等。循環完成之后,我們將原始文件命名為文件1同時建立一個與原始文件同名的空文件。調試  最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方打印任何變量值。這也是絕大多數的shell程序員要花費80%的時間來調試程序的原因。Shell程序的好處在于不需要重新編譯,插入一個echo命令也不需要多少時間。  shell也有一個真實的調試模式。如果在腳本"strangescript" 中有錯誤,您可以這樣來進行調試:sh -x strangescript  這將執行該腳本并顯示所有變量的值。  shell還有一個不需要執行腳本只是檢查語法的模式。可以這樣使用:sh -n your_script ==========================================================================================================================================Linux主要shell命令詳解作者:北南南北 2005-02-03 15:43:30 來自:Linux先生 shell是用戶和Linux操作系統之間的接口。Linux中有多種shell,其中缺省使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。 什么是shellLinux系統的shell作為操作系統的外殼,為用戶提供使用操作系統的接口。它是命令語言、命令解釋程序及程序設計語言的統稱。shell是用戶和Linux內核之間的接口程序,如果把Linux內核想象成一個球體的中心,shell就是圍繞內核的外層。當從shell或其他程序向Linux傳遞命令時,內核會做出相應的反應。shell是一個命令語言解釋器,它擁有自己內建的shell命令集,shell也能被系統中其他應用程序所調用。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux核心。有一些命令,比如改變工作目錄命令cd,是包含在shell內部的。還有一些命令,例如拷貝命令cp和移動命令rm,是存在于文件系統中某個目錄下的單獨的程序。對用戶而言,不必關心一個命令是建立在shell內部還是一個單獨的程序。shell 首先檢查命令是否是內部命令,若不是再檢查是否是一個應用程序(這里的應用程序可以是Linux本身的實用程序,如ls和rm,也可以是購買的商業程序,如xv,或者是自由軟件,如emacs)。然后shell在搜索路徑里尋找這些應用程序(搜索路徑就是一個能找到可執行程序的目錄列表)。如果鍵入的命令不是一個內部命令并且在路徑里沒有找到這個可執行文件,將會顯示一條錯誤信息。如果能夠成功找到命令,該內部命令或應用程序將被分解為系統調用并傳給 Linux內核。 shell的另一個重要特性是它自身就是一個解釋型的程序設計語言,shell程序設計語言支持絕大多數在高級語言中能見到的程序元素,如函數、變量、數組和程序控制結構。shell編程語言簡單易學,任何在提示符中能鍵入的命令都能放到一個可執行的shell程序中。當普通用戶成功登錄,系統將執行一個稱為shell的程序。正是shell進程提供了命令行提示符。作為默認值(TurboLinux系統默認的shell是BASH),對普通用戶用“$”作提示符,對超級用戶(root)用“#”作提示符。一旦出現了shell提示符,就可以鍵入命令名稱及命令所需要的參數。shell將執行這些命令。如果一條命令花費了很長的時間來運行,或者在屏幕上產生了大量的輸出,可以從鍵盤上按ctrl+c發出中斷信號來中斷它(在正常結束之前,中止它的執行)。當用戶準備結束登錄對話進程時,可以鍵入logout命令、exit命令或文件結束符(EOF)(按ctrl+d實現),結束登錄。我們來實習一下shell是如何工作的。$ make workmake:***No rule to make target ‘work’. Stop.$注釋:make是系統中一個命令的名字,后面跟著命令參數。在接收到這個命令后,shell便執行它。本例中,由于輸入的命令參數不正確,系統返回信息后停止該命令的執行。在例子中,shell會尋找名為make的程序,并以work為參數執行它。make是一個經常被用來編譯大程序的程序,它以參數作為目標來進行編譯。在 “make work”中,make編譯的目標是work。因為make找不到以work為名字的目標,它便給出錯誤信息表示運行失敗,用戶又回到系統提示符下。另外,用戶鍵入有關命令行后,如果shell找不到以其中的命令名為名字的程序,就會給出錯誤信息。例如,如果用戶鍵入:$ myprogbash:myprog:command not found$可以看到,用戶得到了一個沒有找到該命令的錯誤信息。用戶敲錯命令后,系統一般會給出這樣的錯誤信息。shell的種類Linux 中的shell有多種類型,其中最常用的幾種是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三種shell各有優缺點。Bourne shell是UNIX最初使用的shell,并且在每種UNIX上都可以使用。Bourne shell在shell編程方面相當優秀,但在處理與用戶的交互方面做得不如其他幾種shell。Linux操作系統缺省的shell是Bourne Again shell,它是Bourne shell的擴展,簡稱Bash,與Bourne shell完全向后兼容,并且在Bourne shell的基礎上增加、增強了很多特性。Bash放在/bin/bash中,它有許多特色,可以提供如命令補全、命令編輯和命令歷史表等功能,它還包含了很多C shell和Korn shell中的優點,有靈活和強大的編程接口,同時又有很友好的用戶界面。C shell是一種比Bourne shell更適于編程的shell,它的語法與C語言很相似。 Linux為喜歡使用C shell的人提供了Tcsh。Tcsh是C shell的一個擴展版本。Tcsh包括命令行編輯、可編程單詞補全、拼寫校正、歷史命令替換、作業控制和類似C語言的語法,它不僅和Bash shell是提示符兼容,而且還提供比Bash shell更多的提示符參數。Korn shell集合了C shell和Bourne shell的優點并且和Bourne shell完全兼容。Linux系統提供了pdksh(ksh的擴展),它支持任務控制,可以在命令行上掛起、后臺執行、喚醒或終止程序。Linux 并沒有冷落其他shell用戶,還包括了一些流行的shell如ash、zsh等。每個shell都有它的用途,有些shell是有專利的,有些能從 Internet網上或其他來源獲得。要決定使用哪個shell,只需讀一下各種shell的聯機幫助,并試用一下。用戶在登錄到Linux時由/etc/passwd文件來決定要使用哪個shell。例如:# fgrep lisa /etc/passwdlisa:x:500:500:TurboLinux User:/home/lisa:/bin/bashshell被列每行的末尾(/bin/bash)。由于Bash是Linux上缺省的shell,本章主要介紹Bash及其相關知識。shell命令命令行c用戶登錄到Linux系統時,可以看到一個shell提示符,標識了命令行的開始。用戶可以在提示符后面輸入任何命令及參數。例如:$ date二 11 23 01:34:58 CST 1999$用戶登錄時,實際進入了shell,它遵循一定的語法將輸入的命令加以解釋并傳給系統。命令行中輸入的第一個字必須是一個命令的名字,第二個字是命令的選項或參數,命令行中的每個字必須由空格或TAB隔開,格式如下:$ Command Option Arguments1. 選項和參數選項是包括一個或多個字母的代碼,它前面有一個減號(減號是必要的,Linux用它來區別選項和參數),選項可用于改變命令執行的動作的類型。例如:$ lsmotd passwd$這是沒有選項的ls命令,可列出當前目錄中所有文件,只列出各個文件的名字,而不顯示其他更多的信息。$ ls -ltotal 2-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd$加入-l選項,將會為每個文件列出一行信息,諸如數據大小和數據最后被修改的時間。大多數命令都被設計為可以接納參數。參數是在命令行中的選項之后鍵入的一個或多個單詞,例如:$ ls -l text-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd$將顯示text目錄下的所有文件及其信息。有些命令,如ls可以帶參數,而有一些命令可能需要一些最小數目的參數。例如,cp命令至少需要兩個參數,如果參數的數目與命令要求不符,shell將會給出出錯信息。例如:$ cp -i mydata newdata注意:命令行中選項先于參數輸入。2. 命令行特征命令行實際上是可以編輯的一個文本緩沖區,在按回車之前,可以對輸入的文本進行編輯。比如利用BACKSPACE鍵可以刪除剛鍵入的字符,可以進行整行刪除,還可以插入字符,使得用戶在輸入命令,尤其是復雜命令時,若出現鍵入錯誤,無須重新輸入整個命令,只要利用編輯操作,即可改正錯誤。利用上箭頭可以重新顯示剛執行的命令,利用這一功能可以重復執行以前執行過的命令,而無須重新鍵入該命令。bash 保存著以前鍵入過的命令的列表,這一列表被稱為命令歷史表。按動上箭頭,便可以在命令行上逐次顯示各條命令。同樣,按動下箭頭可以在命令列表中向下移動,這樣可以將以前的各條命令顯示在命令行上,用戶可以修改并執行這些命令。這一特征將在10.4節中進行詳細的論述。在一個命令行中還可以置入多個命令,用分號將各個命令隔開。例如:$ ls -F;cp -i mydata newdata也可以在幾個命令行中輸入一個命令,用反斜杠將一個命令行持續到下一行。$ cp –imydatanewdata 上面的cp命令是在三行中輸入的,開始的兩行以反斜杠結束,把三行作為一個命令行。shell中的特殊字符shell中除使用普通字符外,還可以使用一些具有特殊含義和功能的特殊字符。在使用它們時應注意其特殊的含義和作用范圍。下面分別對這些特殊字符加以介紹。1. 通配符通配符用于模式匹配,如文件名匹配、路經名搜索、字符串查找等。常用的通配符有*、?和括在方括號[ ]中的字符序列。用戶可以在作為命令參數的文件名中包含這些通配符,構成一個所謂的“模式串”,在執行過程中進行模式匹配。* 代表任何字符串(長度可以不等),例如:“f*”匹配以f打頭的任意字符串。但應注意,文件名前的圓點(.)和路經名中的斜線(/)必須顯式匹配。例如“*”不能匹配.file,而“.*”才可以匹配.file。? 代表任何單個字符。[]代表指定的一個字符范圍,只要文件名中[]位置處的字符在[]中指定的范圍之內,那么這個文件名就與這個模式串匹配。方括號中的字符范圍可以由直接給出的字符組成,也可以由表示限定范圍的起始字符、終止字符及中間的連字符(-)組成。例如,f [a- d] 與f [abcd]的作用相同。Shell將把與命令行中指定的模式串相匹配的所有文件名都作為命令的參數,形成最終的命令,然后再執行這個命令。下面我們給出表10-1說明這些通配符的具體含義。表10-1 通配符含義舉例模式串意 義*當前目錄下所有文件的名稱。*Text*當前目錄下所有文件名中包含有Text的文件的名稱。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲13| 成人av免费网站| 亚洲国产日韩精品| 亚洲乱码国产乱码精品精小说| 久久精品视频免费观看| 精品久久久久久最新网址| 欧美va日韩va| 日韩一区二区精品葵司在线| 欧美一级二级三级蜜桃| 欧美久久一二三四区| 91精品国产福利| 精品乱人伦小说| 国产丝袜美腿一区二区三区| 中文一区在线播放| 亚洲人成精品久久久久久| 亚洲精品高清在线| 秋霞午夜鲁丝一区二区老狼| 日韩成人午夜电影| 国产精品综合视频| 色综合一个色综合| 欧美日韩亚州综合| 亚洲精品一区二区三区福利| 国产欧美日韩综合| 夜夜操天天操亚洲| 国产一区二区三区综合| 91在线视频18| 欧美一级高清片在线观看| 国产欧美日韩一区二区三区在线观看| 国产精品久久久久久久久免费樱桃 | 日韩在线播放一区二区| 久久成人免费网| 91网址在线看| 日韩精品中文字幕在线不卡尤物| 精品国产区一区| 亚洲女厕所小便bbb| 日本91福利区| 97精品超碰一区二区三区| 欧美一区欧美二区| 亚洲欧美日韩在线| 免费人成在线不卡| 99精品在线免费| 日韩欧美中文字幕精品| 一区二区中文视频| 极品美女销魂一区二区三区| 在线日韩av片| 中文字幕va一区二区三区| 美女视频网站久久| 欧美午夜精品久久久久久孕妇 | 欧美性高清videossexo| 精品国产乱码久久久久久1区2区 | 亚洲黄色录像片| 久久99日本精品| 欧美性色欧美a在线播放| 久久久精品免费网站| 亚洲成a人片在线不卡一二三区| 国产成人亚洲综合a∨婷婷 | 久久黄色级2电影| 色综合久久综合网97色综合 | 日韩精品高清不卡| 99re热这里只有精品视频| 久久综合久久综合久久综合| 香港成人在线视频| 色欧美片视频在线观看在线视频| 欧美精品一区二区高清在线观看| 一区二区三区免费| 色偷偷久久人人79超碰人人澡| 久久久久久麻豆| 久久9热精品视频| 精品国产123| 久久91精品久久久久久秒播| 51精品秘密在线观看| 亚洲一区在线播放| 欧美精选一区二区| 亚洲高清免费在线| 在线中文字幕一区二区| 一区二区三区中文在线| 色妹子一区二区| 一区二区三区影院| 精品婷婷伊人一区三区三| 亚洲一区二区精品3399| 在线日韩一区二区| 日韩黄色片在线观看| 欧美另类变人与禽xxxxx| 午夜精品123| 日韩午夜在线播放| 国产综合久久久久久久久久久久| 精品久久久久香蕉网| 粉嫩在线一区二区三区视频| 国产精品久久久久久久久免费相片| 成人国产精品免费观看视频| 国产精品久久久久影视| 在线观看www91| 亚洲va韩国va欧美va| 7777精品伊人久久久大香线蕉| 日韩电影一区二区三区四区| 精品福利一区二区三区免费视频| 国产精品91一区二区| 亚洲欧美色综合| 欧美精品在线视频| 久久国产精品色婷婷| 日本一区二区三区国色天香| 色综合天天性综合| 日韩在线a电影| 中文字幕乱码亚洲精品一区| 色94色欧美sute亚洲线路二| 捆绑紧缚一区二区三区视频| 精品福利一二区| 91在线观看下载| 久久精品国产99| 亚洲综合色区另类av| 日韩欧美一级二级三级久久久| 成人免费高清在线观看| 亚洲gay无套男同| 中文一区一区三区高中清不卡| 欧美亚洲愉拍一区二区| 精品一区二区三区香蕉蜜桃 | 91精品国产入口| jlzzjlzz欧美大全| 青青草精品视频| 亚洲视频免费观看| 久久综合九色综合久久久精品综合 | 久久se精品一区二区| 亚洲视频电影在线| 精品粉嫩超白一线天av| 欧美日韩精品一区二区三区蜜桃| 国产91精品一区二区麻豆亚洲| 亚洲福利一区二区| 亚洲三级在线免费| 久久久久久久综合| 日韩欧美一级在线播放| 91久久精品一区二区三区| 国产成人综合自拍| 另类小说欧美激情| 亚洲不卡一区二区三区| 亚洲美女少妇撒尿| 国产精品久久久久久久久免费樱桃 | 国产日韩欧美制服另类| 欧美成人vps| 日韩一区二区免费电影| 欧美色精品在线视频| 色噜噜狠狠色综合中国| 成人精品电影在线观看| 国产精品羞羞答答xxdd| 精品综合免费视频观看| 日韩不卡一区二区| 亚洲成av人影院| 亚洲成av人片一区二区梦乃| 亚洲自拍偷拍九九九| 又紧又大又爽精品一区二区| 国产精品成人午夜| 国产精品色一区二区三区| 国产欧美一区二区精品秋霞影院 | 亚洲va欧美va人人爽| 亚洲3atv精品一区二区三区| 亚洲一区二区成人在线观看| 亚洲综合av网| 日韩高清在线观看| 美腿丝袜亚洲色图| 国内精品嫩模私拍在线| 国产精品 欧美精品| 国产91在线观看| 99麻豆久久久国产精品免费优播| 国产成人啪免费观看软件| 国产高清一区日本| av午夜一区麻豆| 91亚洲大成网污www| 欧美在线你懂得| 欧美一区二区三区男人的天堂| 欧美一卡2卡3卡4卡| 精品久久国产97色综合| 久久九九久久九九| 中文字幕不卡三区| 亚洲主播在线观看| 麻豆一区二区三| 成人深夜福利app| 91精彩视频在线观看| 91精品国产一区二区三区| 国产视频一区二区三区在线观看| 中文字幕在线不卡一区二区三区 | 欧美一区二区三区思思人| 日韩精品一区二区三区在线播放| 国产日韩欧美综合一区| 一区二区三区资源| 蜜桃91丨九色丨蝌蚪91桃色| www.成人在线| 日韩欧美一级二级三级久久久| 国产丝袜美腿一区二区三区| 亚洲国产视频一区| 国产精品综合二区| 欧美日韩一级片在线观看| 欧美精品一区二区不卡| 亚洲高清免费在线| 国产成人免费xxxxxxxx| 51午夜精品国产| 亚洲欧美激情小说另类| 加勒比av一区二区| 色94色欧美sute亚洲线路一ni| 久久日韩精品一区二区五区| 亚洲与欧洲av电影| 懂色一区二区三区免费观看|