
Kシェルでgotoのような処理を作成したい。
以下のような処理で、入力した文字が条件と一致しなかった場合、
再度、入力からやり直させるようにしたいです。
以下が例です。
NGになった場合、再入力を促したいです。
#!/bin/ksh
echo "Input Moji ---> \c"
read ans_Moji
if [ ${ans_Moji == "入力した文字" ] ; then
echo "OK"
else
echo "NG"
fi
Windowsのようにgoto文があれば、簡単に出来るのですが、
シェルをはじめたばっかりでよく分かっておりません。
何かご存知でしたら、ご教授願います。
No.2ベストアンサー
- 回答日時:
while true
do
echo "Input Moji ---> \c"
read ans_Moji
if [ "${ans_Moji}" == "入力した文字" ]
then
echo "OK"
break
else
echo "NG"
fi
done
gotoも 使い方さえ間違えなければ便利だけど、私ならこうだなぁ
Windowsのバッチと比べると、ksh等は「プログラム言語」と呼べるくらいの高機能ですから、新しい言語を覚えるくらいの気持ちで、kshの作法を勉強した方がいいと思いますよ。
「Windowsではこうだった」って思い込みでやってると、挙動の違いで思わぬ失敗しかねないし。
早速のご回答有難うございます。
回答して頂いたとおり、trueコマンド、breakコマンドを使用すれば意図する処理ができました。
大変、勉強になりました。
有難うございます。
No.1
- 回答日時:
ん? Korn シェルに goto ってなかったっけ?
「goto を使うべきかどうか」という議論はさておき.
参考URL:http://homepage3.nifty.com/owl_h0h0/unix/job/UNI …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプト標準出力と...
-
バッチでテキストファイルから...
-
DOSのバッチで、テキストファイ...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプト画面の閉じ...
-
コマンドプロンプト(バッチファ...
-
エクセルのVBAについて とある...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
チームズのチャット画面にファ...
-
Thunderbirdで社内共有フォルダ...
-
#include <Windows.h>というヘ...
-
.txtではなく.logの方が良いの...
-
「win11-23H2」を「win11-24H2...
-
[teraterm] waitコマンドで停止...
-
xcopyで特定のファイルのみをコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト標準出力と...
-
VBアプリケーションで終了コー...
-
バッチファイルで常に最新の現...
-
バッチファイルでDirで取得した...
-
コマンドプロンプトで2ヶ月前3...
-
DOSのバッチで、変数中のファイ...
-
IPアドレスの第3オクテットだ...
-
絶対パス名からファイル名を取...
-
バッチファイル テキストファイ...
-
呼び出し元バッチを知るには?
-
子バッチ内のキー入力処理へ自...
-
コマンドプロンプト画面の閉じ...
-
C#でメジャーなバッチフレーム...
-
それでは早速、フォルダを作る...
-
echoとsystem関数について
-
Excelで住所録を地域ごとに振り...
-
Windowsのバッチで環境依存パス...
-
バッチファイル(for文)がうま...
おすすめ情報