日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCSH编程(2)

發(fā)布時(shí)間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCSH编程(2) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

條件測(cè)試

?

test命令

1,測(cè)試文件狀態(tài)

表達(dá)方式:

test condition

返回值:0為成功,其他為失敗。

文件測(cè)試狀態(tài)

d?????????????????? 目錄

L???????????????????????? 符號(hào)連接

s?????????????????? 文件長度大于0,非空

u???????????????????????? 文件有suid位設(shè)置

f?????????????????? 正規(guī)文件

r????????????????????????? 可讀

w???????? ????????可寫

x????????????????????????? 可執(zhí)行

?

1,邏輯操作符

?

a 邏輯與,操作數(shù)兩端均為真,結(jié)果為真,否則為假。

?

o 邏輯或,操作數(shù)兩邊一邊為真,結(jié)果為真,否則為假。

?

邏輯否,條件為假,結(jié)果為真。

?

3,字符串測(cè)試

?

格式:test “string” string_operator “string” (其中string_operator為操作符)

?

??????????????????????? 兩個(gè)字符串相等

!=??? ??????????????????????????兩個(gè)字符串不等

z?????????????????????? 空串

n???????????????????????????????? 非空串


?

4,測(cè)試數(shù)值

格式:test “number” number_operator “number”(其中number_operator為操作符)

-eq?????????? 數(shù)值相等

-ne?????????? 數(shù)值不相等

-gt??????????? 第一個(gè)數(shù)大于第二個(gè)數(shù)

-lt????? ???????第一個(gè)數(shù)小于第二個(gè)數(shù)

-le??????????? 第一個(gè)數(shù)小于等于第二個(gè)數(shù)

-ge?????????? 第一個(gè)數(shù)大于等于第二個(gè)數(shù)

?

expr 命令

e x p r命令一般用于整數(shù)值,但也可用于字符串。一般格式為:
expr argument operator argument


e x p r也是一個(gè)手工命令行計(jì)數(shù)器。

例如:expr 100 100

200

?

expr 3 \* 3

9


expr 3 / 3

1
注意:使用乘號(hào)時(shí),必須用反斜線屏蔽其特定含義。因?yàn)?/span>s h e l l可能會(huì)誤解顯示星號(hào)的意義。


e x p r命令用于記數(shù):
number = 1

number = `expr $number + 1`???????????? (反引號(hào)即替代命令,expr $number + 1是命令,不能放在等號(hào)右邊。如果直接number = expr $number + 1 ,則會(huì)報(bào)錯(cuò)“set: varibale name must begin with a letter? ?

?

命令執(zhí)行順序

在執(zhí)行某個(gè)命令的時(shí)候,有時(shí)候需要依賴前一個(gè)命令是否執(zhí)行成功。Tcsh中的命令執(zhí)行順序控制符

&&

格式:commands && commands

含義:當(dāng)左邊的命令返回真后(執(zhí)行成功),右邊的命令才能執(zhí)行

例子:

>mv? /apps/bin?? /apps/dev/bin && rm –r? /apps/bin

?

||

格式:commands || commands

含義:當(dāng)左邊的命令沒有執(zhí)行成功則執(zhí)行右邊的命令。

例子:cp 1.txt? ob.txt || echo “the cp failed”

?

()

格式(commands1;commands2;commands3;…..)

含義:在當(dāng)前的shell中將括號(hào)中的命令一起合并執(zhí)行。

?

Shell引用類型

一:引用的必要性:

我們?cè)谑褂梦淖肿址臅r(shí)候,經(jīng)常會(huì)因?yàn)樯儆没蚴锹┯靡枚斐梢恍┞闊?。比如說:

??????????? echo Hit the star button to exit? *

則在屏幕上顯示的將是Hit the star button to exit 當(dāng)前目錄下的所有目錄。因?yàn)闆]有用””所以,shell編譯器把*解釋為當(dāng)前所有目錄。

?

二:Shell的引用類型

?

雙引號(hào)

“”

反單引號(hào)

``

單引號(hào)

‘’

反斜杠

/

?

雙引號(hào):

??????????? 使用雙引號(hào)可引用除字符?? $?? `?? /? 外的任意字符和字符串,必須成對(duì)出現(xiàn)。主要是用它來將字符串賦值給變量,實(shí)際上和直接賦值變量沒有差異。

>Set temp = “date”

>Echo $temp

>date

反單引號(hào):

UNIX命令放在反引號(hào)(` `)中,就能把它的輸出結(jié)果賦值給變量或是字符串,一一操作被稱為命令替換。如果命令的輸出賦給一個(gè)變量,則將會(huì)被保存成一個(gè)數(shù)組或是詞表。

?

單引號(hào):

??????????? 可以保護(hù)除了!之外的所有元字符不被解釋,并且可以保護(hù)雙引號(hào),必須在同一行內(nèi)配成對(duì)。

>set temp = boy

>echo ‘$temp’

>$temp

>echo “$temp”

>boy

?

反斜杠:

??????????? 如果下一個(gè)字符有特殊含義,反斜杠防止shell誤解其含義,即屏蔽其特殊含義。(含有特殊含義的字符包括 &? *? +? ^? $? `? “? |? ?

例如:為了屏蔽*的特殊含義,而是想僅僅輸出一個(gè)*號(hào)的話,則語句寫成

>echo \*.則編譯器就會(huì)忽略*的特殊意義,而僅僅把它當(dāng)成一個(gè)一般的字符輸出




?

轉(zhuǎn)載于:https://www.cnblogs.com/JeffChen/archive/2008/01/09/1032412.html

總結(jié)

以上是生活随笔為你收集整理的TCSH编程(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。