[条件の判断]
==, !=, >, >=, <, <=, &&, ||
-e file : ファイルが存在していれば真
-r file : ファイルが読み取り可能ならば真
-w file : ファイルが書き込み可能ならば真
-x file : ファイルが実行可能ならば真
-d file : ファイルで指定した内容がディレクトリならば真
[分岐とループ]
1)if
if ([条件式]) then
[処理1]
else
[処理2]
endif
2)switch
switch ([変数])
case [内容1]:
[処理1]
breaksw
case [内容2]:
[処理2]
breaksw
..............
..............
default:
[処理n]
breaksw
endsw
3)while
while ([条件式])
[処理]
end
4)foreach
foreach [変数] ([リスト])
[処理]
end
[使用例]
- コード変換し,MS-DOS でフォーマットされたフロッピーにファイルを書き込むためのスクリプトファイル.このファイルの 1 行目は、シェルスクリプトファイルを動かすシェルを記述するものであり必ず必要です.
#!/usr/bin/csh
#
# Write to MS-DOS
#
if ($#argv == 0) then
echo No File Name !
else
if ($argv[1] == "-n") then
set count = 2
set isw1 = 0
else
set count = 1
set isw1 = 1
endif
while ($count <= $#argv)
if ($isw1 == 0) then
nkf -t $argv[$count] > 00temp00
else
nkf -s $argv[$count] > 00temp00
endif
set isw2 = `wc -w 00temp00 | awk '{print $1}'`
if ($isw2 != '0') then
mswrite /dev/rif/04 $argv[$count] < 00temp00
echo File $argv[$count] was written
endif
@ count++
end
unalias rm
rm 00temp00
alias rm 'rm -i'
endif
unalias (既に設定されたaliasを取消す)
[機能]
既に設定された alias を取消します
[形式]
unalias command
command : alias で設定したコマンド名
wild card (ワイルドカード)
[機能]
ワイルドカードの簡単な使用方法について説明します.ファイル名を指定するとき,ワイルドカードを使用することにより,複数のファイルをまとめて指定することができます.
[使用例]
- 「 ? 」(任意の 1 文字があてはまる)
- TEST?T.C
- 次のようなファイルが該当します.
- TEST1T.C
- TEST2T.C
- TESTXT.C
- TEST.??
- TEST で始まり,拡張子が 2 文字のファイルが該当します.
- ?????
- ファイル名が 5 文字で,拡張子を持たないファイルが該当します.
- 「 * 」(任意の文字列が当てはまる)
- *.*
- カレントディレクトリにあるすべてのファイルが該当します.
- TEST*T.C
- 次のようなファイルが該当します
- TEST1T.C
- TEST123T.C
- TESTXYZT.C
- *.COM
- 拡張子が COM であるファイルが該当します.
- TEST.*
- 名前が TEST であり,拡張子が任意のファイルが該当します.
- 「 [...] 」( [] 内に示されたどれかの文字と一致する)
- test[ab1-9]
- test1,testb,test1,・・・,test9 と一致します
- 「 {} 」( {} 内が展開される)
- foo{1,2,3}
- foo1,foo2,foo3 に展開されます.
- {foo,bar}{1,2,3}
- foo1,foo2,foo3,bar1,bar2,bar3 に展開されます.なお,{} の展開は,ワイルドカードの前に実行されます.