Ctrl-w закрывает мое окно Chrome

Вышеупомянутые ответы являются стандартом / "правильный" способ сделать это.

Другой подход это более просто с большего количества точки зрения "конечного пользователя", должен иметь любую запланированную или фоновую задачу, пишут ее вывод в файл "журнала". Файл может быть где угодно в Вашей системе, но если задача работает как корень (от cron, и т.д.), затем где-нибудь под /var/log хорошее место состоит в том, чтобы поместить его.

Я создал /var/log/maint каталог и сделанный этим читаемый всеми и у меня есть читаемый файл под названным "резервным копированием", где я регистрирую вывод из своих резервных сценариев.

Я сделал свой собственный каталог, таким образом, мои файлы не становятся смешанными в с вещами, сгенерированными системой.

Помещать материал там (в ударе):

BACKUP="/var/log/maint/backup"
echo "my message" >> "${BACKUP}"

>> заставляет сообщения быть добавленными в файл вместо того, чтобы перезаписать его каждый раз.

Если мой сценарий имеет большой вывод, я использую сценарий или функцию для вывода, таким образом, все сделано то же. Ниже мой ток (версия излишества): (ПОДРОБНЫЙ материал там для того, когда я запускаю скрипт от терминала и хочу видеть то, что продолжается для отладки целей.)

#!/bin/bash
## backup_logger
## backup system logging module
## Copyleft 01/20/2013 JPmicrosystems
## Usage is ${SCRIPT_NAME} [-v] [<caller> <log message text>]
## If present, -v says log to console as well as to the log file
## <caller> is the name of the calling script
## If <caller> <log message text> is not present, write a blank line to the log

## Must be placed in path, like ~/bin
## If log is owned by root or another user, then this must run as root ...
## If not, it just aborts

##source "/home/bigbird/bin/bash_trace"  ## debug
SCRIPT_NAME="$(basename $0)"
USAGE="Usage is ${SCRIPT_NAME} [-v] [<caller> <log message text>]"
SYSLOGDIR='/var/log/maint'
SYSLOGFILE="${SYSLOGDIR}/backup.log"

LOGGING=1
VERBOSE=0
if [ "${1}" == "-v" ]
then
  VERBOSE=1
  shift
fi

##LOGGING=0  ## debug
##VERBOSE=1  ## debug

## Only zero or two parameters allowed - <caller> <log message text>
RC=0
if [ "$#" -eq 1 ] || [ "$#" -gt 2 ]
then
  echo "${USAGE}"
  RC=1
else
  if [ ! -w "${SYSLOGFILE}" ]
  then
    touch "${SYSLOGFILE}"
    if [ $? -ne 0 ]
    then
      echo -e "$(date) ${1} ${2}"
      echo "${SCRIPT_NAME} Can't write to log file [${SYSLOGFILE}]"
      RC=1
      exit ${RC}
    fi
  fi

  if [ -n "${1}" ]
  then
    (( LOGGING )) && echo -e "$(date) ${1} ${2}"  >> "${SYSLOGFILE}"
    (( VERBOSE )) && echo -e "$(date) ${1} ${2}"
  else
    (( LOGGING )) && echo "" >> "${SYSLOGFILE}"
    (( VERBOSE )) && echo ""
  fi
fi

exit $RC

Править: Упрощенный at пример, который пишет в пользовательский файл

Не использовали это в навсегда, таким образом, я понял это с несколькими простыми сценариями.

Первый сценарий просто планирует использование события at. Сама команда могла просто быть введена в терминал, но я ленив - особенно, когда я должен сделать это многократно при тестировании ее, не играя с историей команд.

#!/bin/bash
## mytest_at_run
## Schedule a script to run in the immediate future
echo "/home/bigbird/bin/mytest_at_script" | at 00:56

Второй сценарий является тем, который, как планируют, будет работать

#!/bin/bash
## mytest_at_script
## The script to be run later
echo "$(date) - is when this ran" >> /home/bigbird/log/at.log

Я создал оба сценария в текстовом редакторе, сохранил их и затем сделал их каждым исполняемым использованием chmod 700 script-file-name. Я поместил их обоих в мой $HOME/bin каталог для удобства, но они могли быть где угодно моим пользователем, имеет полный доступ. Я использую 700 для любого сценария это только для тестирования, но в системе отдельного пользователя, это могло точно также быть 755.

Мне уже назвали каталог /home/bigbird/log сохранить вывод от mytest_at_script. Это может также быть где угодно Вашим пользователем, имеет полный доступ. Просто удостоверьтесь, что это существует перед выполнениями сценария, или имейте сценарий, создают его.

Для выполнения его я просто удостоверился время для at команда в mytest_at_run был немного в будущем и затем выполнил его от терминала. Я затем ожидал, пока это не выполнило и исследовало содержание $HOME/log/at.log.

bigbird@sananda:~/bin$ cat ~/log/at.log
Fri Sep 14 00:52:18 EDT 2018 - is when this ran
Fri Sep 14 00:56:00 EDT 2018 - is when this ran
bigbird@sananda:~/bin$

Несколько примечаний:

Даже при том, что я работаю at от моего пользователя это не знает мою среду, такую как мой PATH и мой корневой каталог, таким образом, я не принимаю это. Я использую полные пути как, я был бы для любого cron задание. И если я когда-нибудь хочу сделать это a cron задание, я не должен буду изменять ничего только, чтобы заставить его работать.

Я использовал >> в mytest_at_script добавлять вывод к файлу журнала вместо > который заменил бы его на каждом выполнении. Используйте, какой бы ни каждый удовлетворяет Вашему приложению лучше всего.

5
16.08.2014, 08:50
2 ответа

Это зависит от приложения... Я не уверен, что можно сказать, что большинство имеет этот ярлык, так как маловероятно, что оно использовало большинство приложений. В качестве примера, xpdf использует Ctrl+W для закрытия текущего файла. Меня преследуют Ctrl+F, Ctrl+W, / для "поиска" путаницы. Хотелось бы, чтобы для *nix был стандарт де-факто -, а для рекурсивных - -r в сравнении с -R. Ну, мир не идеален.

Я думаю, вы можете установить расширение для переопределения ярлыков Chrome. Быстрый поиск привел к -R. Возможно, ярлыки оконного менеджера тоже могут переопределить Chrome? Не пытался, и, вероятно, это зависит от оконного менеджера. Наверное, расширение - это то, что нужно, если вы хотите переопределить это поведение - или, может быть, изменить его на emacs.

.
2
27.01.2020, 20:35

Ctrl+W - это ярлык для закрытия текущего документа или вкладки во многих приложениях. Я не знаю, откуда он появился (на догадке, Mac), но он стал стандартом в большинстве основных сред, включая Gnome, KDE, OSX и Microsoft Office.

Mnemonic: W находится рядом с Q на клавиатурах QWERTY; Ctrl+Q предназначен для quit, а Ctrl+W - для меньшей формы квитирования. Некоторые приложения не имеют комбинации клавиш для выхода, хотя, исходя из предположения, что это не то, что пользователи обычно делают (обычно вы закрываете документы, а не приложения).

Ctrl+W, чтобы вырезать (убить) выделение - это комбинация клавиш Emacs. Стандарт де-факто (Gnome, KDE, OSX, Windows и многие другие) это Ctrl+X (мнемонический: X как в кресте для подавления чего-либо), с Ctrl+C до copy и Ctrl+V для вставки (мнемоническая: стрелка вниз). Вы можете включить cua-режим в Emacs для активации этих ярлыков, однако Ctrl+C и Ctrl+X CUA-ярлыки неловко сталкиваются с ярлыками Emacs; для использования префикса Emacs C-c или C-x в режиме CUA, пока выбор активен, необходимо нажать вторую клавишу или быстро повторить префикс (а для использования C-c C-c или C-x C-x, необходимо нажать клавишу три раза).

7
27.01.2020, 20:35

Теги

Похожие вопросы