Как использовать команды истории с readonly PROMPT_COMMAND?

Я иногда вошел в систему на хосте, который я не контролирую и где PROMPT_COMMAND . Есть ли способ обойти это, чтобы запустить команды history любом случае , например, используя PS1 ? Я пробовал PS1='$(history -a; history -c; history -r; echo finished)' – он печатает в каждом приглашении, но, похоже, не работает:

  1. Откройте два терминала A и B на одном и том же хосте.
  2. В терминале A запустите команду a .
  3. В терминале B запустите команду b .
  4. На терминале B нажмите дважды.

На хосте, где PROMPT_COMMAND='history -a; history -c; history -r;' PROMPT_COMMAND='history -a; history -c; history -r;' , это приведет к тому, что терминал B покажет a . На хосте, где PS1 начинается с $(history -a; history -c; history -r; echo finished) он будет показывать, какая команда была запущена до того, как оба терминала были открыты. Очевидная причина заключается в том, что команда в PS1 выполняется в подоболочке.

Другой альтернативой является обход глобального RC-файла:

 bash --rcfile ~/.bashrc 

Однако обход использования стандартного значения PROMPT_COMMAND , скорее всего, не будет принят системным администратором по политическим соображениям.

One Solution collect form web for “Как использовать команды истории с readonly PROMPT_COMMAND?”

Вы можете запускать команды истории в обработчике сигналов, избегая использования подоболочки. Затем отправьте PS1 соответствующий сигнал:

 trap 'history -a; history -c; history -r;' USR1 export PS1='$(kill -USR1 $$)'"$PS1" 
  • Опасно ли повторно устанавливать раздел rw / ro?
  • Как заставить мой DVD-RW монтироваться как читаемое устройство вместо ROM?
  • Сделать readonly / etc доступным для записи
  • mount: warning: / etc / mtab не доступен для записи (например, файловая система только для чтения)
  • Как я могу выйти из режима только для чтения в Vim?
  • Встроенный linux для чтения
  • как создать ISO и скрыть определенные файлы
  • Я могу читать с жесткого диска, но я не могу установить его только для чтения
  • не удалось перемонтировать файловую систему в режим «только для чтения» после обновления пакета
  • DHCP и корневая файловая система только для чтения
  • Как обеспечить, чтобы файл образа диска NTFS не записывался при установке?
  • Почему rm удаляет файлы только для чтения?
  • Linux и Unix - лучшая ОС в мире.