Получить bash скрипт для открытия терминала - PullRequest
1 голос
/ 20 июня 2019

В Windows, когда я дважды щелкаю Batch-скрипт, он автоматически открывает окно терминала и показывает мне, что происходит.Если бы я дважды щелкнул скрипт bash в Linux, окно терминала не открылось бы, чтобы показать мне, что происходит;это работает в фоновом режиме.Я видел, что можно использовать один скрипт для запуска другого скрипта в новом окне терминала с x-terminal-emulator -e "./script.sh", но есть ли какая-нибудь команда bash, которую я могу поместить в тот же (один) script.sh, чтобы он открывал терминал и показывалмне что происходит (или если мне нужно ответить на вопросы)?

1 Ответ

1 голос
/ 20 июня 2019

Вы можете сделать что-то похожее на то, что делают Slax разработчики в своих bootinst.sh:

#!/usr/bin/env sh
#
#     If you see this file in a text editor instead of getting it executed,
#     then it is missing executable permissions (chmod). You can try to set
#     exec permissions for this file by using:  chmod a+x bootinst.sh
#
#     Scrolling down will reveal the actual code of this script.
#



# if we're running this from X, re-run the script in konsole or xterm
if [ "$DISPLAY" != "" ]; then
   if [ "$1" != "--rex" -a "$2" != "--rex" ]; then
      konsole --nofork -e /bin/sh $0 --rex 2>/dev/null || xterm -e /bin/sh $0 --rex 2>/dev/null || /bin/sh $0 --rex 2>/dev/null
      exit
   fi
fi

# put contents of your script here
echo hi

# do not close the terminal immediately, let user look at the results
echo "Press Enter..."
read junk

Этот скрипт будет работать правильно как при запуске в графической среде, так и в tty.Он пытается перезапустить скрипт внутри konsole и xterm, но если он не найдет ни одного из них, он просто запустится в фоновом режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...