Определения функции хука Zsh в качестве аргументов

В Debian вы можете идентифицировать /etc/init.dскрипты, которые были добавлены пользователем, с помощью следующего:

dpkg -S /etc/init.d/* | grep "no path found"

Здесь будут перечислены сценарии инициализации, которые не предоставляются пакетом.

Выяснить, был ли изменен сценарий инициализации, предоставляемый пакетом, несколько сложнее. Пакеты Debian содержат контрольные суммы большинства своих файлов, но не «conffiles», включающие сценарии инициализации. Таким образом, проверка того, был ли изменен сценарий инициализации, включает сравнение установленной версии с версией, поставляемой в пакете. Например, начиная с/etc/init.d/anacron:

$ dpkg -S /etc/init.d/anacron
anacron: /etc/init.d/anacron

$ cd $TMP

$ apt source anacron=2.3-24

$ cmp anacron-2.3/debian/init.d /etc/init.d/anacron

Возможно, вас заинтересуют инструменты, помечающие модификации, такие как Tripwire(apt install tripwire).

0
25.08.2020, 15:03
1 ответ

Не так просто, если вы не добавите вспомогательный код в свой ~/.zshrc, например:

if [[ -o interactive && $1 = eval ]]; then
   "$@"; argv=()
fi

А затем вызовите zshкак:

zsh -s eval 'preexec() date; chpwd() pwd'

, например.

То же самое с env vars:

if (($+ZSH_STARTUP_CODE)); then
  eval " $ZSH_STARTUP_CODE"
fi

И вызвать zshкак:

ZSH_STARTUP_CODE='preexec() date; chpwd() pwd' zsh

но обратите внимание, что переменные env наследуются, поэтому это повлияет на все экземпляры zsh, запущенные в этой среде, и автоматическое выполнение данных из среды меня вообще нервирует.

0
18.03.2021, 23:11

Теги

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