こんにちは。YOSHITAKA(@YOSHITA19704216)です。
- cshellからbashに変更時にgoto文の代替方法がわかります。
Contents
cshellからbashに変更時にgoto文の代替方法
対象者
- shell scriptを変更している人
です。
解決策 関数(function)にする
bashにも、goto文に相当する機能はありません。
例えばつぎおような内容があったとします。
#!/bin/bash
if [ "$1" = "" ]
then
goto Label_NG
else
goto Label_OK
fi
Label_OK:
echo "OK"
exit 0
Label_NG:
echo "NG"
exit 1
これを次のように変更すれば動くことを確認しました。
#!/bin/bash
function Label_OK() {
echo "OK"
return 0
}
function Label_NG() {
echo "Error"
return 1
}
if [ "$1" = "" ]
then
Label_NG
else
Label_OK
fi
ポイントに記載しましたが順番が重要です。
- 関数を処理の前に配置しないと実行されないので注意が必要です。
まとめ
今回はcshellからbashに変更時にgoto文は使えないため、関数(function)する方法についてお伝えしました。
※プログラミングは習得中ですので、参考程度に記事を読んでください。