変数をコマンドとして

変数をコマンドとして

ターミナル名を変数に設定し、その変数を使用してターミナルをフルスクリーンで開きます。次のようになります。

if [ "$DESKTOP" = "gnome" ]; then
    if command_exists gnome-terminal; then
        terminal=$(gnome-terminal)
    fi
elif [ "$DESKTOP" = "mate" ]; then
    if command_exists mate-terminal; then
        terminal=$(mate-terminal)
    fi
fi
$terminal --working-directory="$HOME/code/" --window --full-screen &

これを機能させるにはどうすればよいですか?

答え1

単に何も置き換え$( )ない。

if [ "$DESKTOP" = "gnome" ]; then
    if command_exists gnome-terminal; then
        terminal=gnome-terminal
    fi
elif [ "$DESKTOP" = "mate" ]; then
    if command_exists mate-terminal; then
        terminal=mate-terminal
    fi
fi
$terminal --working-directory="$HOME/code/" --window --full-screen &

$( )コマンドを実行し、出力を変数またはコマンド ラインに貼り付けるために使用されます。

上記のコードは実行されない可能性があります。いずれかのfoo端末が未定義の場合、

noterminal=true
if [ "$DESKTOP" = "gnome" ]; then
    if command_exists gnome-terminal; then
        gnome-terminal --working-directory="$HOME/code/" --window --full-screen &
        noterminal=false
    fi
elif [ "$DESKTOP" = "mate" ]; then
    if command_exists mate-terminal; then
        mate-terminal --working-directory="$HOME/code/" --window --full-screen &
        noterminal=false
    fi
fi
if $noterminal
then
   echo unable to find terminal 
   ## or other GUI alert system.
   ## or xterm as per mmmint sugestion
fi

答え2

私の知る限り、xtermほとんどの Linux ベースの OS で利用可能です。
いずれの場合も、使用される端末は変数内にあります$TERM

関連情報