OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

cシェルについて(その1)

  • すぐに回答を!
  • 質問No.152565
  • 閲覧数38
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 27% (24/87)

質問です。

以下のように表記されている場合
@ XXXnum=0
XXXchk:
@ XXXnum++
if ($XXXnum > 3 ) then
goto XXXerror

とある場合、XXXnumはふつうの変数(環境変数等ではなく)
と考えてOKなのでしょうか?
(@マークについてよく解らないもので)
またCの様に(関数の)頭で宣言しなくて宜しいのでしょうか?
また、XXXchk:とは関数のくくりで終わる場合単に、
end
の表記だけでよいのでしょうか?
(XXXchk:が関数の頭だとするとこれの中にも一つ同じ様な表記があって
 endが一個しかないのも疑問なんですが)

cシェルと言うよりシェル全般に関して初心者なんで、宜しくお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 24% (357/1463)

@ は整数型のシェル変数を設定することを示します。
単なる代入ならば
set XXXnum=0
としても良いのですが、@ の場合は
@ XXXnum++
@ XXXnum=2+3
のように式を記述することができます。

シェル変数は環境変数と異なり、そのシェルの内部だけで使われるもので、
他のプログラムに引き渡したりすることは、特別な工夫をしない限り
できません。宣言は必要ありません。

XXXchk: は関数を示すものではなく、ラベルと呼ばれるもので、単なる
目印です。
goto XXXchk:
のような記述があった場合はここへ飛んできますが、処理が終わった後
元の場所へ戻るというようなことはないので、endは不要です。
お礼コメント
ami_mizuno

お礼率 27% (24/87)

有り難うございます。
よく解りました。
シェルって結構簡単に変数を宣言できるものなんですね。

あと、XXXchk: は関数を示しているんじゃなかったんですね。
何かこういうくくりを見て思わず「関数なんかな?」と思ってしまったので。

まだまだ解らないことだらけなので、今後ともご教授の程宜しくお願いいたします。
投稿日時 - 2001-10-17 10:49:30
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ