
Я хочу задать переменную с именем терминала и использовать эту переменную для открытия терминала в полноэкранном режиме. Это будет что-то вроде:
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.
В любом случае используемый терминал будет найден в $TERM
переменной.