これは私のコードです。
function update_profile
{
echo "1. Update Name"
echo "2. Update Age"
echo "3. Update Gender"
echo "Enter option: "
read option
case $option in
1) update_name ;;
2) update_age ;;
3) update_gender ;;
esac
function update_name
{
echo "Enter new name: "
read name
}
}
これが可能かどうかを確認したかったです。すべてのコードをケースに入れることができることはわかっていますが、そうすれば乱雑になるので、関数の内部にスタンドアロン関数を作成し、そのコマンドを実行する必要があるたびに呼び出したいと思います。
ベストアンサー1
はい、可能です。
あまり役に立ちませんが、他の関数内に関数を入れ子にすることも可能です。
f1 ()
{
f2 () # nested
{
echo "Function \"f2\", inside \"f1\"."
}
}
f2 # Gives an error message.
# Even a preceding "declare -f f2" wouldn't help.
echo
f1 # Does nothing, since calling "f1" does not automatically call "f2".
f2 # Now, it's all right to call "f2",
#+ since its definition has been made visible by calling "f1".
# Thanks, S.C.