> Опишите, что нужно сделать. В обсуждении много лишних деталей.
Что
по существу нужно сделать, я бы сформулировал так. Нужно встроить скрипт
Code: Select all
for term in $TERMINAL x-terminal-emulator gnome-terminal xterm mate-terminal rxvt urxvt xfce4-terminal terminator termite terminology qterminal konsole guake; do
if command -v $term > /dev/null 2>&1; then break; fi
done
$term -e sh -c "$1; echo 'Press <Enter> to continue ... '; read -r x"
в ExtTools так, чтобы он выполнялся с аргументом
{FileDir}/{FileNameNoExt} в качестве значения параметра
$1. Предполагается, что выполнение будет иметь место, когда пользователь хочет выполнить программу «в терминале» (консоли).
Надеюсь, что так Вам понятнее, и благодарю за содействие.
Как это облачить в форму инструмента для ExtTools я затрудняюсь сказать.
Дело в том, что многое и многое в задании инструментов в ExtTools мне непонятно.
Например, что понимать под
Shell command? Что программа запускается в терминале? Не видно, чтобы так было. Не видно и разницы между выполнением обычной программы с отметкой и без нее.
Непонятно и что означает
Capture output: Console. Что здесь названо
Console и чем оно отличается от
Output panel? Связано ли это слово с выполнением в терминале, что нормально ожидать, или нет? Если да, то в чем состоит связь?
С другой стороны, если я действительно выполняю программу в терминале, то вообще бессмыссленно выбирать что-либо для
Capture output: тогда вывод идет в stdout, он может быть перенаправлен, но
Capture output ничего общего с этим не имеет.
Непонятно и почему при таком количестве возможностей (пере)направить стандартный вывод программы, вообще не предусматривается указать, откуда берется ввод. И, как уже замечал, ввод на самом деле игнорируется, а потому программы выполняются ошибочно (и значит, без смысла), о чем даже не сказано в вики-документации. Не поможет и попытка перенаправить ввод, записав
<infile в поле
Parameters инструмента.
Впрочем, у меня есть идея, как переделать к очень простому и общему виду организацию запуска и перенаправливания ввода и вывода программ при построении инструментов, но об этом как-нибудь в другой раз.