Я плохо знаком с Ubuntu, и я пытался запустить этот скрипт:
#!/usr/bin/env bash
echo hello world
Это хорошо работает, если я открываю терминал сначала и вручную вызываю его. Как ./test
.
Я установил, "Спросите каждый раз" в файле prefs:
Теперь я нажимаю Run в терминале. И Lo! Ничего не происходит.
Я ожидаю, что это откроет терминал и эхо привет мир. Что я делаю неправильно? Это - новая установка человечности наряду с окнами с веб-сайта человечности.
проблема состоит в том, что echo hello world
выполняется в миллисекундах, быстрее, чем окно терминала может открыться.
Это означает, что Ваш сценарий уже выходит, прежде чем терминал видим, и поэтому его запуск отменяется, и Вы ничего не видите.
можно добавить задержку (здесь: 5 секунд) в конце Вашего сценария так, чтобы это работало дольше и у Вас есть время для просмотра результата перед выходами сценария, и окно терминала закрывает себя:
#!/usr/bin/env bash
echo hello world
sleep 5
можно также добавить read
команда в конец сценария для ожидания ввода с клавиатуры перед выходами сценария.
-s
параметр вызывает тихий вход, т.е. Ваша нажатая клавиша не будет отражена к терминалу.
-n1
позволяет ему только для чтения один отдельный символ и возвращается сразу впоследствии вместо того, чтобы ожидать , Входят , который будет нажат.
-p "Press any key to exit..."
аргумент на самом деле указывает текст для печати прежде, чем ожидать входа.
#!/usr/bin/env bash
echo hello world
read -s -n1 -p "Press any key to exit..."
gnome-terminal
предпочтение для хранения окна открытым: Запуск gnome-terminal
окно, откройте меню Edit и выберите предпочтения Профиля . Перейдите к вкладка Commands . Вы будете видеть, что выпадающее меню маркировало When выходы команды:
Выбор Содержит терминал, открывают здесь и закрывают окно настроек.
С этого времени, когда Вы дважды щелкнете по сценарию и выбору для выполнения его в терминале, окно больше не будет закрывать себя, но оставаться открытым и отображать баннер, сообщающий Вам о статусе выхода сценария:
Предупреждение!
Эта установка также применяется при ручном открытии окна терминала и попытки закрыть ее путем выхода из Bash с помощью этиexit
команда или Ctrl + D - я нахожу это довольно раздражающим, который окно терминала не закрывает больше затем также.