Unix shell学習ノート-C shellプログラミング


6.1概要
Shellスクリプトは、コマンドと分散されたコメントで構成されています.
実行スクリプトを作成するには
スクリプトを実行するには、次の手順に従います.
shellの選択
実行権限の付与
スクリプトの実行
 
 
 
shellを選択し、最初の行を#!すなわち、shbangは、使用されるshell解釈器を示す.
 
#!/bin/cshまたは#!/bin/tcsh
 
実行権限の付与:
 
% chmod +x myscript
 
スクリプトの実行:
 
% ./myscript 
 
 
 

6.2 读取用户输入

例子:

通过变量$<读取用户输入。

 

#!/bin/csh -f 
echo -n "What is your name? " 
set name = $< 
echo Greeting to you, $name. 


 
6.3算術演算
C shellは整数の算術演算のみをサポートする
算術演算子:+-/*%<>>
ショートカット演算子:+=-=*=/=+--
 
6.4条件構造とフロー制御
if文:
if (expression)
    command
    command
then
    command
    command
endif
例:
 
if ($#argv != 1 ) then 
    echo "$0 requires an argument" 
    exit 1 
endif 

#  :            ($#argv)   1,   then      
#     1  ,       


 
if/else文
書式:
if (expression) then
    command
else
    command
endif 
 
if/else if文
 
書式:
 
if (expression) then
    command
    command
else if (expression) then
    command
    command
else
    command
endif
 
終了ステータスと変数status
 
実行成功:$status=0
実行に失敗しました:$status!=0
 
switch文
書式:
 
switch (var)
case Const1:
    command
    breaksw
case Const2:
    command
    breaksw
endsw
 #! /bin/csh 
echo "Select from the following menu:" 
cat << EOF 
1) Red 
2) Green 
3) Blue 
4) Exit 
EOF 
set choice = $< 
switch ("$choice") 
case 1: 
    echo Red is stop. 
    breaksw 
case 2: 
    echo Green is go\! 
    breaksw 
case 3: 
    echo Blue is a feeling... 
    breaksw 
case 4: 
    exit 
    breaksw 
default: 
    echo Not choice \!\! 
endsw 
echo Good-bye 


 
 
6.5ループコマンド
 
foreachサイクル
書式:
foreach変数
command
end
 
例:
 
foreach person (Rob Bob Tim Jim)
    echo $person
end
 
 
whileサイクル
 
書式:
 
while ()
 
end 
 
repeatサイクル
repeat 3 echo hello
 
hello
hello
hello   
6.6組み込みコマンド