テールホイップと外部スクリプト呼び出し

テールホイップと外部スクリプト呼び出し

メニュー項目が選択されたときに外部スクリプトを実行するツールボックスを作成するためにhiptailを使用したいと思います。

次のコードがあります

#!/bin/bash

OPTION=$(whiptail --title "IT ToolBox v0.1" --menu "Choose your option" 15 60 4 \
"1" "Get users dropped from Active Directory" \
"2" "Work in progress" \
"3" "Work in progress" \
"4" "Work in progress"  3>&1 1>&2 2>&3)

exitstatus=$?
if [ $exitstatus = 0 ]; then
    echo "Your chosen option:" $OPTION
else
    echo "You chose Cancel."
fi

case $RETVAL in
    1) echo "Get users dropped from Active Directory"
    2) echo "Invalid option. Quitting";;
    3) echo "Invalid option. Quitting";;
    4) echo "Invalid option. Quitting";;
    *) echo "Invalid option. Quitting";;
esac

選択時にgudfad.shファイルを実行するようにスクリプトに指示する方法は?私の理解は、コマンドがケース領域に追加されることです。たとえば、次のようになります。

case $RETVAL in
    1) echo "Get users dropped from Active Directory"
       gudfad.sh;;
    2) echo "Invalid option. Quitting";;
    3) echo "Invalid option. Quitting";;
    4) echo "Invalid option. Quitting";;
    *) echo "Invalid option. Quitting";;
esac

ただし、このコマンドを実行してオプション1を選択すると、次のメッセージが表示されます。

Your chosen option: 1
Invalid option. Quitting

ベストアンサー1

ユーザーの選択はyesOPTIONまたはnoですRETVAL

変更:

case $RETVAL in

到着する:

case "$OPTION" in

未定義の変数を使用するときに警告が表示されるように、スクリプトの上部に追加することをお勧めset -uします。bash

"$var"代わりに変数を常に引用することをお勧めします$var。例外がありますが、まれなケースです。

おすすめ記事