亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

不是SHELL的SHELL—TCSH SHELL 編程(1)Unix系統(tǒng) -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.msguai.com - 電腦資料】

    TCSH shell不同于其他的shell,因?yàn)榭刂平Y(jié)構(gòu)更符合程序設(shè)計(jì)語言的格式.例如TCSH 的test條件的控制結(jié)構(gòu)是表達(dá)式,而不是 linux 命令,得到的值是邏輯值true或false,TCSH的表達(dá)式與C語言中的表達(dá)式基本相同. 一 TCSH shell變量,腳本, 參數(shù)用戶可以在shell中定義變

    TCSH shell不同于其他的shell,因?yàn)榭刂平Y(jié)構(gòu)更符合程序設(shè)計(jì)語言的格式.例如TCSH 的test條件的控制結(jié)構(gòu)是表達(dá)式,而不是linux命令,得到的值是邏輯值true或false,TCSH的表達(dá)式與C語言中的表達(dá)式基本相同.

    一 TCSH shell變量,腳本,

    參數(shù)用戶可以在shell中定義變量,為變量賦值以及引用腳本參數(shù).TCSH使用set,@,setenv定義一變量,也可以用相同的方法定義數(shù)值變量和數(shù)組,用戶通過@命令定義的數(shù)值變量來進(jìn)行算術(shù)運(yùn)算,用戶使用圓括號(hào)()和方括號(hào)[]定義和引用數(shù)組.腳本也可以用相同的方法操作,但是有個(gè)例外,盡管可以用echo命令輸出提示符,但沒有read命令處理輸入,相反,必須重定向到一個(gè)變量里.

    二 腳本輸入和腳本輸出

    $ <用戶能夠在腳本范圍中定義和使用變量.在下例中,使用文本編輯器把賦值操作和echo之類的linux命令放在一個(gè)文件中.然后, 可以產(chǎn)生可執(zhí)行文件并像其他命令一樣在命令行中執(zhí)行它,要記住添加可執(zhí)行權(quán)限,必須使用帶u+x參數(shù)的chmod命令或者帶絕對(duì)參數(shù)700的chmod命令.在腳本中,可以使用echo命令去輸出數(shù)據(jù),但是,必須通過重定向標(biāo)準(zhǔn)輸入把輸入讀入變量.在TCSH中沒有l(wèi)inux read命令的比較版本.記住TCSH全部的腳本文件的第一行的第一個(gè)字符必須是"#"字符.如:

    #

    #display "hello"

    set string="hello"

    echo The value of string is $string

    set命令和重定向符號(hào)結(jié)合$<將用戶輸入的任何數(shù)據(jù)讀入標(biāo)準(zhǔn)的輸入中.下例中,把用戶輸入讀入string變量中.

    %set string=$<

    abc

    %echo $string

    abc

    能夠把提示符放置到相同的行用作echo的輸入.TCSH使用一個(gè)特殊的選項(xiàng)-n,將消除輸出字符串中的回車符.光標(biāo)將保留在輸出字符串的結(jié)尾處.

    %echo -n please enter a string

    %cat hello

    #

    echo -n "please enter a string:"

    set string=$<

    echo "the value of string is $string"

    %chmod u+x hello

    %hello

    please enter a string:hello

    the value of string is hello

    %

    三 操作符TCSH

    它有一系列標(biāo)準(zhǔn)的賦值,算術(shù)和關(guān)系運(yùn)算以及重定向和后臺(tái)操作等函數(shù)賦值運(yùn)算符

    功能說明

    = 賦值操作

    += 先加再賦值

    -= 先減再賦值

    *= 先乘再賦值

    /= 先除再賦值

    %= 取余再賦值

    ++ 自增量1

    -- 自減量1

    算術(shù)運(yùn)算符 說明

    - 負(fù)號(hào)

    + 加法

    - 減法

    * 乘法

    / 除法

    % 取余

    關(guān)系運(yùn)算符 說明

    > 大于

    < 小于

    >= 大于等于

    <= 小于等于

    != 不等于

    == 等于

    重定向和管道符TCSH支持標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出的重定向和管道操作.如果設(shè)置了noclobber特征,要用重定向操作重寫當(dāng)前文件,需要用符號(hào)>!代替>

    四 控制結(jié)構(gòu)

    同其他shell一樣,TCSH也有一系列的控制結(jié)構(gòu)控制腳本的命令的執(zhí)行.while和if控制結(jié)構(gòu)是最常用的控制結(jié)構(gòu).switch和foreach是更專用的控制結(jié)構(gòu).switch是if條件的限定形式,檢查數(shù)值是否等于一系列可能的數(shù)值中的一個(gè)數(shù)值.foreach是循環(huán)結(jié)構(gòu)的限定形式.瀏覽數(shù)值列表,給變量賦新的數(shù)值.TCSH不同的控制結(jié)構(gòu)列表:

    條件控制結(jié)構(gòu); 功能

    if (expression) then 如果expression為真,則執(zhí)行commands commands

    endif

    if (expression) then 如果expression為真,則執(zhí)行command1,否則執(zhí)行command1 command2.

    else

    command2

    endif

    switch (string) 允許在幾條替換命令中選擇,string為不同的模式case pattern:

    commands

    breadsw

    default:

    commands

    endsw

    循環(huán)控制結(jié)構(gòu): 功能while (expression) 只要expression為真,則重復(fù)執(zhí)行commands,commands 直到expression為假時(shí)跳出循環(huán)end

    foreach variable (argument-list)迭代循環(huán)獲得和argument-list中一樣多的參數(shù)commands (每次循環(huán)variable被設(shè)置為列表的下一個(gè)參數(shù);end 操作方式同BSH)

    TCSH中的控制結(jié)構(gòu)有別于其他的shell,因?yàn)樗咏幊陶Z言(C).TCSH的條件表達(dá)式的值為true/false.BASH和TCSH主要區(qū)別在于TCSH的結(jié)構(gòu)不可重定向或進(jìn)行管道輸出.

    五 測(cè)試表達(dá)式

    ()if和while控制結(jié)構(gòu)把表達(dá)式用作測(cè)試.表達(dá)式測(cè)試的結(jié)果為非零(1)表示真,而零(0)表示假(跟BASH相反).測(cè)試表達(dá)式可由算術(shù)/字符串比較,但是字符串只能作相等和不相等的比較.而且表達(dá)式必須要在()括號(hào)內(nèi).如:

    if (expression) then

    command

    endif

    TCSH有一系列的運(yùn)算符來分別對(duì)字符串進(jìn)行測(cè)試比較.正則表達(dá)式可以包含shell腳本的指令的字符串.如:

    if ( $var =~[Hh]* ) then #如果變量$var以字母是大寫/小寫Hh開頭,的字符串

    echo information #執(zhí)行命令

    endif #結(jié)束

    有很多測(cè)試文件的操作與BASH完全相同.如:

    if ( -r myfile ) then #測(cè)試myfile是否可讀

    echo info

    endif

    測(cè)試表達(dá)式的基本操作:

    字符串比較: 功能

    == 是否相等,若相等返回真

    != 是否不等,若不等返回真

    =~ 字符串和模式進(jìn)行測(cè)試是否相等(模式為任意正則表達(dá)式)

    !~ 字符串和模式測(cè)試是否不等(模式為任意正則表達(dá)式)文件測(cè)試: 功能

    -e 測(cè)試文件是否存在

    -r 測(cè)試文件是否可讀

    -w 測(cè)試文件是否可寫

    -x 測(cè)試文件是否可執(zhí)行

    -d 測(cè)試文件名是否為目錄

    -f 測(cè)試文件是否為普通文件

    -o 測(cè)試文件是否被用戶所擁有

    -z 測(cè)試文件是否為空

    邏輯運(yùn)算符: 功能

    && 與運(yùn)算,兩個(gè)條件同時(shí)蠻族

    || 或運(yùn)算,有一個(gè)條件滿足

    ! 取反

    共5頁: 1 [2] [3] [4] [5] 下一頁

    原文轉(zhuǎn)自:http://www.ltesting.net

最新文章