В конечном счете, если Вы - планирование того, чтобы заставлять людей упаковать это для их дистрибутивов, что Вы захотите сделать, устанавливают или время компиляции или настроенное местоположение для каждой из этих вещей. Например, с помощью autoconf/automake/configure для установки макросов для - префикса, - bindir, - datadir и так далее.
В целом я думаю, что большинство дистрибутивов не использует/opt/для упакованных исполняемых файлов (они вошли бы в/usr/bin или/usr/sbin как соответствующие). Кажется, что пользователи, как ожидали бы, будут использовать файлы в ~/MyStevedore/регулярно, не создавая это как ~/.MyStevedore/простительно, но некоторые дистрибутивы могут использовать файловый менеджер, который ожидает все в ~/MyDocuments/MyStevedore/или ~/Desktop/MyStevedore/
Bash имеет рычаг перед командой. Вид.
preexec () {
clear
}
preexec_invoke_exec () {
[ -n "$COMP_LINE" ] && return # do nothing if completing
[ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return # don't cause a preexec for $PROMPT_COMMAND
local this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`; # obtain the command from the history, removing the history number at the beginning
preexec "$this_command"
}
trap 'preexec_invoke_exec' DEBUG
bind 'RETURN: "\e[1~clear; \e[4~\n"'
После того каждого раза Вы нажимаете возврат вместо просто записи \n
это переместится в начало строки, введет текст clear;
, затем переместитесь в конец и войдите \n
поскольку это ожидало.
clear
команды.
– jw013
03.08.2012, 23:51
clear
выполняется, прежде чем вывод команды и команды не исчезает. Однако в случае, если с подсказкой это делает.
– rush
03.08.2012, 23:54
clear;
к выводу для каждого дополнительного \n
.
– Peter.O
04.08.2012, 02:39
bind "\"\\eOQ\":\"\e[1~ls;#\\n\""
это переместится в начало, ввести ls;#
комментарий, что было там и работало ls
управляйте правильно! Спасибо! большое спасибо
– Aquarius Power
01.02.2016, 20:02
От вопроса, который я спросил сегодня (с кредитом пользователю @ Acolley's Ответ ):
bind '"\C-m": "\C-l\C-j"'
A \ CM
Имитация ключа «Enter» , \ Cl
, моделирующий Ctrl + L
, так как это понятно, и \ CJ
- «Newline-and-chaps», поэтому команда является обязательной клавишей Enter Ctrl + L & Ctrl + J
, который работает на GNU Bash, версии 3.2.53 (1) -Release (x86_64-Apple-darwin14), а другие ответы на эту тему не делают. Кроме того, это не загрязняет историю с «ясными» командами любой другой командой.
cb4() {
preexec () {
clear
}
}
Здесь используется хук с именем preexec
, подтверждено, что он работает и с zsh
Затем любой сеанс, который вы хотите автоматически очищать перед каждой командой, которую вы запускаете:cb4
preexec () {
clear
}
заменить слово clear
наtput reset
tput
не является обязательным, но ускоряет процесс сброса
Enter
, прежде, чем выполнить команду. Это работает как это на меня. Предысполнительный рычаг выполняется для каждой интерактивной команды, не имеет значения, является ли команда встроенным или внешней командой или многими командами. – Gilles 'SO- stop being evil' 11.08.2012, 02:27[ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return;
проблема состоит в том, что PROMPT_COMMAND выполняется и также захватывается после фактической команды; Также Может кто-то говорить мне почемуlocal this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`;
здесь? – MageProspero 30.06.2013, 05:25history -1
печатает последнюю командную строку, с числом истории впереди. Фильтр sed снимает изоляцию с числа истории. – Gilles 'SO- stop being evil' 30.06.2013, 12:02