tcsh 基本命令
shell?是一種命令行程序, linux?用戶可以通過?shell 與操作系統(tǒng)內(nèi)核進行交互。
shell?分為好幾種:sh,bash,csh,tcsh, 其中?tcsh?是?csh?的增強版,常用的兩種?shell?就是?bash?和?tcsh。
一般linux?默認shell?是?bash,但是IC公司用的較多的是 tcsh,二者的語法和內(nèi)建命令相差較大,關(guān)于bash,網(wǎng)上資料非常多,這里主要記錄?tcsh?的語法和基本命令。
具體使用哪個shell?可以在腳本第一行定義: #! /bin/bash? 或者? ?#! /bin/tcsh
查看當前默認shell?可以看環(huán)境變量? echo $SHELL?
?
tcsh 基本語法:
?
1. 創(chuàng)建字符串變量:? set? var =?hello;?set?var01 = “hello?world”?;echo $var? ?#?注意等于號
? ? 創(chuàng)建數(shù)值變量:? ? @? num = 101? ; @?n01 = $num * 2 ;?echo $n01? ? # 注意用 @?開頭,且@與變量之間需留空格
?
2.?控制流(if? while? foreach )
(a).? if (condition)? then? ?#?注意?if?和?then?必須寫在同一行,if?條件用小括號
cmd01
cmd02? #?可以寫很多行命令
else?
cmd03
endif? ??#?一定要有這個?endif?結(jié)束
(b).?while ( condition )
cmd01
end
(c). foreach? var? ( var-list )?
cmd01
end
?
3.?測試表達式
if ( -e? file01 )?then? ? #?檢測文件?file01?是否存在
cmd01
end
常用檢測命令:
-e? file01? 檢測文件?file01?是否存在,存在則返回 1,?否則返回 0
-f? ?file01? 檢測文件?file01?是否是普通文件
-d? file01? 檢測文件?file01?是否是目錄??
-w file01? ?檢測文件?file01?是否可寫
?
?4.?命令置換
如果要將一個shell命令的執(zhí)行結(jié)果作為另一個命令的輸出,可以用 `cmd`,注意這里的? `? 不是單引號,而是鍵盤 ESC?下方那個鍵,比如:
save_block? -as? stage_`date`??
echo? " the stage finish at? `date` "? ?#?雙引號中的大部分特殊字符都會失去其特殊意義,但是有三種字符除外:變量置換符、命令置換符、轉(zhuǎn)義字符,即??"? ?$ `? \? "?
單引號中所有特殊字符都會變成普通字符,適合用在?alias?中
?
5.? 連續(xù)執(zhí)行
如果需要在一行命令中連續(xù)執(zhí)行多條shell命令,有以下幾種寫法:
1) cmd1 ; cmd2 ; cmd3? ? ? ? ? ? # 按順序執(zhí)行三個 cmd,不管是否成功執(zhí)行
2) cmd1 && cmd2 && cmd3?? ? # 順序執(zhí)行三個 cmd,只有前邊的 cmd 執(zhí)行成功,才會繼續(xù)執(zhí)行
3) cmd1 || cmd2 || cmd3?? ? ? ? #? 如果 cmd1 執(zhí)行成功,就不執(zhí)行之后的 cmd。
?
?6.?其他命令
setenv? ?var? value? ? ? # 設(shè)置環(huán)境變量?var ,全局可用,注意這里沒有等于號
printenv? env_name? ? # 顯示環(huán)境變量,如果沒參數(shù),就顯示所有環(huán)境變量
umask? 022? ?#?設(shè)置新建文件默認屬性, 022?是八進制,且表示取消掉權(quán)限,所以等價于?chmod 755
?
?7.?幾個 tcsh?實例
1).? ?每隔半小時檢測一次 flag 文件是否存在,不存在就繼續(xù)等待,若存在就執(zhí)行make?run
文件名?auto_run.sh :
?
?
?
?
to?be?continue ...
?
|--------------------------------------|
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaoxie2014/p/11475568.html
總結(jié)
- 上一篇: 游戏开发中的数学和物理算法(7):角度
- 下一篇: dedecms织梦最新0day