国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Csh的基本語法介紹

2019-10-26 18:43:01
字體:
來源:轉載
供稿:網友

在*unix系統中,常用的shell有sh,bash,csh/tcsh, ksh.

sh來自于systemV的Unix,是傳統的Unix的shell,直到現在很多的系統管理員仍然喜歡使用sh。
bash來自于BSD Unix,語法非常類似于C語言,所以通常有C/C++編程背景的開發人員最喜歡使用。
ksh是對sh的擴展,且吸收了csh的一些有用的功能,但是由于開始ksh的license是AT&T,所以后來出現了很多的ksh的開源版本,例如mksh,pdksh等。
bash是現在很多Linux的發行版中默認的shell,綜合了其他shell的很多優點。

下面描述csh的一些基本的語法(在sh環境中執行csh切換到csh環境):

1) 變量

通過set來定義局部變量x,通過$x或${x}來使用變量x的值,$%x表示變量的值的長度, $?x來判斷變量x是否設置,如設置則為1,否則為0。

代碼如下:
set x = 5
echo $x
echo ${x}kg
echo $%x  

全局變量的定義setenv v  value 該變量將被此shell派生的所有子shell繼承。

$$表示當前進程的PID, $status 或 $? 表示退出狀態。

2)數組

定義數組myarr, 通過$myarr[index]來訪問數組中的值,注意index是從1開始的。通過$myarr或$myarr[*]來訪問數組所有的元素。通過$#myarr來查看元素的個數。

代碼如下:
set myarr = (str1, str2,str3)
echo $myarr[2]
echo $myarr
echo $myarr[*]

3)命令替換

通過set x = `cmd`來執行命令,且結果賦值給變量。
代碼如下:
set d = `date`
echo $d
echo $d[6]-$d[2]-$d[3]

4)命令行參數

通過$argv[1],$argv[2]或$1,$2來訪問命令行參數。命令行參數的個數為$#argv。

5)文件名擴展的元字符

只能使用?,*,[abc],[a-c]。

6)IO重定向和管道

將命令的輸出重定向到文件為>。
將命令的輸出重定向并追加到文件為>>。
將命令的輸入重定向到文件為<。
將命令的報錯信息重定向到一個文件(cmd>/dev/tty)>&errors。
將命令的輸出和錯誤輸出分別重定向(cmd > goodstuff)  >& badstuff。

將命令的輸出和報錯信息重定向到一個文件cmd>&file。
將命令的輸出經管道發往另一個命令cmd|cmd.
將命令的輸出和報錯信息經管道發往另一個命令cmd|&cmd。
條件語句為 cmd && cmd 或 cmd || cmd。
command<<WORD 表示將command的輸入重定向為從第一個WORD處開始,到下一個WORD處之間的內容(即here文檔)。

7)從鍵盤讀取并保存到變量中

代碼如下:
set var = $<

8)算術

代碼如下:
@ var = 5 + 5
echo $var
@ v2 = $var + 3
echo $v2

9)代字符號擴展

~username 表示username的home目錄。

10)別名

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栖霞市| 石狮市| 江山市| 京山县| 巴南区| 绥中县| 十堰市| 兴海县| 都江堰市| 绥棱县| 荆州市| 海宁市| 淳安县| 厦门市| 吉林省| 金塔县| 凭祥市| 安溪县| 萨嘎县| 彭山县| 家居| 临夏市| 丹江口市| 高阳县| 金溪县| 错那县| 保亭| 玉屏| 望谟县| 鹿泉市| 明溪县| 兴隆县| 通山县| 来凤县| 行唐县| 湖州市| 普兰店市| 潍坊市| 池州市| 宜丰县| 东丰县|