set/unset 變量
-
通過set來定義局部變量x,
-
通過$x或${x}來使用變量x的值
-
$%x表示變量的值的長度,
-
$?x來判斷變量x是否設置,如設置則為1,否則為0。
-
全局變量的定義setenv v value 該變量將被此shell派生的所有子shell繼承。
-
$$表示當前進程的PID,$status 或$? 表示退出狀態。
set x = 5
echo $x
echo ${x}kg
echo $%x
數組
- 定義數組myarr, 通過$myarr[index]來訪問數組中的值,注意index是從1開始的。
- 通過$myarr或$myarr[*]來訪問數組所有的元素。通過$#myarr來查看元素的個數。
set myarr = (str1, str2,str3)
echo $myarr[2]
echo $myarr
echo $myarr[*]
命令替換
- 通過set x = `cmd` 來執行命令,且結果賦值給變量。
set d = `date`
echo $d
echo $d[6]-$d[2]-$d[3]
命令行參數
- 通過\$argv[1],\$argv[2]或\$1,\$2"來訪問命令行參數。
- 命令行參數的個數為$#argv。
代字符號擴展
- 文件名擴展的元字符: 只能使用?,*,[abc],[a-c]。
- 代字符號擴展: ~username 表示username的home目錄
別名
- alias m more 為more創建別名m,有的alias grepc="grep -r "
- alias 列出所有的alias。
- unalias m 用來刪除more的alias定義。
if/else/switch/case
if(expression)then
commands
endif
if {(command)} then
commands
endif
if(expression) then
commands
else if(expression) then
commands
else
commands
endif
switch("$value")
case pattern1:
commands
breaksw
case pattern2:
commands
breaksw
default:
commands
breaksw
endsw
while/foreach
while(expression)
commands
continue
break
end
foreach var (wordlist)
commands
end
repeat
repeat 3 "echo helloworld"
csh中設置環境變量PATH的方法
set path = ($path /home)
echo $path
echo $PATH