• 締切済み

Cシェルの switch~endsw の使い方を教えてください。

Cシェルのプログラムで swith ( $result ) case -1: … case 0:        … breaksw default        … endsw と言う使い方をすると、「変数が多すぎます」と表示されて正常に動きません。 case文の中では必ず breaksw しないといけないのでしょうか… 教えてください。お願いします。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

tcsh(6.11.00 on FreeBSD-4.6R)だと、別に怒られないようです。 #!/bin/tcsh echo arg = $1 switch ( $1 ) case '1': case '2': echo ok breaksw; default: echo NG endsw % source a.csh 2 arg = 2 ok

mankichi
質問者

お礼

回答ありがとうございます。 私の今の環境では高機能tcshがないので出来ない事が分りました。 他に対応を考える事にします。

回答No.1

>変数が多すぎます」と表示されて正常に動きません。 >case文の中では必ず breaksw しないといけないの >でしょうか… breakswは必ず必要のようです。C言語のbreakの様な 使い方はできないようです。breakswを省略すると、 自分の環境でも同じエラーがでます。

mankichi
質問者

お礼

回答ありがとうございます。 私の今の環境では高機能tcshがないので出来ない事が分りました。 他に対応を考える事にします。 ホントにありがとうございました…

関連するQ&A