青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

shell腳本中一些特殊符號

shell腳本中一些特殊符號

1、{} 大括號:
用法一:通配符擴展

代碼
:
    ls my_{finger
,toe}s
這條命令相當于如下命令的組合:
    ls my_fingers my_toes
    
    
mkdir {userA,userB,userC}-{home,bin,data}

我們將得到 userA
-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,userC-home, userC-bin, userC-data,這幾個目錄
用法二:可用于語句塊的構造,語句之間用回車隔開。如果你想在某些使用單個語句的地方(比如在AND或OR列表中)使用多條語句,你可以把它們括在花括號{}中來構造一個語句塊。

代碼
:
    
grep -"$cdcatnum" $strack_file > $temp_file
    cat 
$temp_file > $strack_file
    echo
    cat 
-n file1


(注:以上大括號中的四句命令夠成了一個語句塊)
用法三:參數擴展

代碼
:
    ${name
:-default} 使用一個默認值(一般是空值)來代替那些空的或者沒有賦值的變量name;
    ${name
:=default}使用指定值來代替空的或者沒有賦值的變量name;
    ${name
:?message}如果變量為空或者未賦值,那么就會顯示出錯誤信息并中止腳本的執行同時返回退出碼1。
    ${
#name} 給出name的長度
    ${name%word} 從name的尾部開始刪除與word匹配的最小部分,然后返回剩余部分
    ${name
%%word} 從name的尾部開始刪除與word匹配的最長部分,然后返回剩余部分
    ${name
#word} 從name的頭部開始刪除與word匹配的最小部分,然后返回剩余部分
    ${name##word} 從name的頭部開始刪除與word匹配的最長部分,然后返回剩余部分


(注,name為變量名,word為要匹配的字符串)
用法三在處理字符串和未知變量時,是很有用的。

2、[] 中括號:
用法一:通配符擴展:
允許匹配方括號中任何一個單個字符

代碼
:
    ls 
/[eh][to][cm]*


相當于執行 ls 
/etc /home(若有/eom目錄,就相當于會執行ls /etc /home /eom)
注:在mkdir命令下不能擴展
用法二:用于條件判斷符號:
[]符號可理解為指向test命令的一個軟鏈接,所以其用法可完全參照test,將test位置替換為[便可。

代碼
:
    
if [ "$?" != 0 ] 等價于 if test "$?" != 0
    then echo 
"Executes error"



3、`command` 反引號:
`command`與$(command)的含義相同,都是返回當前執行命令的結果

代碼
:
#!/bin/sh
for file in $(ls f*.sh);do
    lpr 
$file
done
exit 0


該例實現了擴展f
*.sh給出所有匹配模式的文件的名字。

4'string' 單引號 和 "string" 雙引號
雙引號:如果想在定義的變量中加入空格,就必須使用單引號或雙引號,
單、雙引號的區別在于雙引號轉義特殊字符而單引號不轉義特殊字符

代碼
:
    $ heyyou
=home
    $ echo 
'$heyyou'
    $ 
$heyyou ($沒有轉義
    eg
: $ heyyou=home
    $ echo 
"$heyyou"
    $ home (很明顯,
$轉義了輸出了heyyou變量的值



5、$# 它的作用是告訴你引用變量的總數量是多少;

代碼
:
    $$ 它的作用是告訴你shell腳本的進程號;
    $
* 以一個單字符串顯示所有的腳本傳遞的參數。等價于$1 $2 $3.
    $@ 與$
*基本類似(參見序號7),但在數組賦值時有些不同;
    $
? 前一個命令的退出碼;
    $
- 顯示shell使用的當前選項;
    $
! 最后一個后臺運行的進程ID號。



6、$(())語法:對括號內的表達式求值

代碼
:
    
#!/bin/sh
    x=0
    hile [ 
"$x" -ne 10 ];do
    echo 
$x
    x
=$(($x+1))
    done
    
exit 0



7、shell中幾種特殊的參數變量的引用

代碼
:
    $
1、$2、$3……${10}、${11}、${12}…… :表示腳本傳入的的各個參數,注意當需表示兩位數以后的參數時數字要用花括號括起。
    $@ 列出所有的參數,各參數用空格隔開
    $
*: 列出所有的參數,各參數用環境變量IFS的第一個字符隔開



8、命令列表:
AND列表 statement1 
&& statement2 && statement3 && …:只有在前面所有的命令都執行成功的情況下才執行后一條命令
OR列表 statement1 
|| statement2 || statement3 || …:允許執行一系列命令直到有一條命令成功為止,其后所有命令將不再被執行
#!/bin/sh

代碼
:
    touch file_one
    rm 
-f file_two
    
if [ -f file_one ] && echo "hello" && [ -f file_two ] && echo " there"
    then
    echo 
"in if"
    
else
    echo 
"in else"
    fi
    
exit 0


上例的輸出為:

代碼
:
    hello
    in 
else


關于AND列表與OR列表,在邏輯判斷中很使用,下面就舉一個其最常用的例子:

代碼
:
    [ condition ] 
&& command for true || command for false:


當條件為真時,執行commandfor true 
,當條件為假時,執行command for false

9: 冒號:內建空指令,返回值為0

代碼
:
:
$ echo $
?
0
while: (該語句結構可實現一個無限循環)



10、; 分號: 在 shell 中,擔任"連續指令"功能的符號就是"分號"

代碼
:
    cd 
~/backup ; mkdir startup ; cp ~/.* startup/.

11# 井號:表示符號后面的是注解文字,不會被執行;
代碼:
    
* 匹配文件名中的任何字符,包括字符串;
    
? 匹配文件名中的任何單個字符。
    
~ 代表使用者的 home 目錄

12\ 反斜線:
放在指令前,有取消 aliases(別名) 的作用;
放在特殊符號前,則該特殊符號的作用消失;
放在指令的最末端,表示指令連接下一行(使得回車符無效,只起換行作用)

13! 感嘆號:
通常它代表反邏輯的作用,譬如條件偵測中,用 
!= 來代表"不等于"

14** 次方運算:兩個星號在運算時代表 "次方" 的意思
代碼
:
    let 
"sus=2**3"
    echo 
"sus = $sus"
    $ sus 
= 8 -

posted on 2011-09-08 16:02 天下 閱讀(443) 評論(0)  編輯 收藏 引用 所屬分類: Linux編程Linux Shell

<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区另类| 国产精品欧美激情| 亚洲国产一区二区视频| 午夜精品久久久久久久蜜桃app | 欧美影视一区| 亚洲资源av| 欧美在线看片a免费观看| 欧美一区二区网站| 久久久精品国产免大香伊| 久久久午夜视频| 欧美大片在线观看| 99riav1国产精品视频| 亚洲一区免费在线观看| 久久九九精品99国产精品| 欧美成人嫩草网站| 欧美午夜精品久久久久久超碰| 国产精品美女黄网| 在线播放视频一区| 一区二区免费在线观看| 欧美怡红院视频| 亚洲福利视频网站| 亚洲一区二区三区四区视频| 香蕉免费一区二区三区在线观看 | 国产日韩欧美一区| 国产主播一区二区三区| 亚洲国产高清自拍| 亚洲欧美精品| 欧美xx69| 亚洲一区二区在| 欧美va亚洲va香蕉在线| 国产精品欧美风情| 日韩一级在线观看| 久久视频一区| 中国日韩欧美久久久久久久久| 欧美一区二区三区在线| 欧美日韩不卡| 伊人久久婷婷| 午夜日本精品| 亚洲免费成人| 麻豆精品视频在线观看视频| 国产精品视频导航| 亚洲一区二区综合| 亚洲黄一区二区三区| 久久av在线| 国产欧美一区二区精品性色| 国产精品99久久久久久人| 免费成人在线观看视频| 亚洲永久免费精品| 欧美日韩亚洲另类| 亚洲另类一区二区| 欧美jizz19hd性欧美| 午夜精品亚洲| 国产精品久久久久一区| 日韩午夜免费视频| 亚洲高清视频中文字幕| 久久免费视频观看| 一区二区三区中文在线观看| 久久久久久欧美| 欧美在线视频全部完| 国产日韩欧美在线| 欧美在线三级| 香蕉久久夜色精品国产| 国产精品入口日韩视频大尺度| 亚洲影院色无极综合| 99精品热视频| 国产精品久久久久秋霞鲁丝| 亚洲欧美日韩在线不卡| 亚洲视频在线观看免费| 国产精品久久看| 欧美一级在线亚洲天堂| 亚洲在线1234| 国一区二区在线观看| 久久蜜桃资源一区二区老牛| 久久久精品国产免大香伊| **网站欧美大片在线观看| 欧美成人午夜| 欧美激情bt| 先锋影音一区二区三区| 欧美在线免费视频| 激情综合网址| 亚洲电影中文字幕| 欧美精品一区二区三区视频| 99国产精品99久久久久久粉嫩| 亚洲美女精品成人在线视频| 午夜久久tv| 国外视频精品毛片| 亚洲国产乱码最新视频| 欧美日韩在线免费观看| 欧美在线观看你懂的| 久久久免费精品视频| 亚洲免费福利视频| 亚洲综合大片69999| 在线精品福利| 一区二区三区导航| 极品中文字幕一区| 亚洲精品美女91| 国产九九视频一区二区三区| 免费成人av资源网| 国产精品久久久久久久7电影| 久久手机精品视频| 欧美日一区二区在线观看 | 亚洲人成亚洲人成在线观看图片| 亚洲精品系列| 国产一区二区三区黄视频| 欧美激情免费在线| 国产欧美一区二区精品婷婷| 亚洲破处大片| 国内精品一区二区三区| 99热在这里有精品免费| 在线不卡中文字幕播放| 亚洲一二三区视频在线观看| 亚洲福利视频三区| 亚洲欧美一区二区三区久久| 日韩一级二级三级| 久久理论片午夜琪琪电影网| 亚洲综合精品一区二区| 欧美大片一区二区| 久久久一区二区三区| 国产精品久久福利| 亚洲人被黑人高潮完整版| 伊甸园精品99久久久久久| 亚洲专区欧美专区| 亚洲在线一区| 欧美精品少妇一区二区三区| 麻豆av一区二区三区久久| 国产精品资源| 亚洲一本大道在线| 一区二区久久| 欧美连裤袜在线视频| 亚洲国产经典视频| 亚洲电影下载| 久久久久久一区二区三区| 久久精品网址| 国产一区二区电影在线观看| 亚洲欧美激情诱惑| 欧美亚洲日本一区| 国产精品午夜在线| 亚洲自啪免费| 欧美一区二区三区视频在线观看| 国产精品久久国产精麻豆99网站| 亚洲精品自在久久| 亚洲一区二区三区四区五区黄| 欧美日韩国产精品一卡| 日韩亚洲在线观看| 亚洲欧美国产高清va在线播| 国产精品毛片高清在线完整版| 久久精品免费电影| 国产亚洲精品综合一区91| 欧美亚洲日本网站| 另类欧美日韩国产在线| 亚洲国产精品传媒在线观看 | 国产精品成人一区二区| 一区二区三区av| 欧美一区二区三区电影在线观看| 国产精品尤物| 久久久蜜桃精品| 亚洲国产精品一区二区第四页av | 香蕉成人久久| 欧美福利视频网站| 99热这里只有精品8| 国产精品久久久999| 欧美亚洲日本网站| 亚洲国产精品毛片| 亚洲欧美日韩系列| 在线成人中文字幕| 欧美日本国产视频| 欧美亚洲免费电影| 亚洲国产精品一区二区www| 亚洲免费综合| 亚洲电影有码| 国产精品久久久久aaaa| 久久久xxx| 日韩视频在线一区二区| 久久久国产一区二区三区| 日韩亚洲精品视频| 国产亚洲欧美日韩一区二区| 男同欧美伦乱| 午夜在线观看免费一区| 91久久黄色| 久久青青草综合| 中文av一区特黄| 在线观看一区二区视频| 国产精品久久精品日日| 欧美成年人视频网站| 亚洲香蕉网站| 亚洲国产aⅴ天堂久久| 午夜精品婷婷| 亚洲欧洲另类| 红桃视频一区| 国产精品久久久久免费a∨大胸 | 国产一区二区三区丝袜| 欧美精品不卡| 久久精品一区二区三区不卡| 亚洲一区二区三区免费在线观看| 亚洲激情在线播放| 蜜桃久久精品乱码一区二区| 欧美伊人影院| 欧美一区在线视频| 亚洲一区www| 亚洲最新在线视频|