Intereting Posts
Действительно ли UUID уникален? почему мы можем назначить несколько UUID единому фрагменту диска Получите имя физически (на передней панели компьютера), зарегистрированного пользователем, надежно! Подавить имя файла с выхода sha512sum Записать журнал для ложной инструкции условия if, которая возвращает exit 2 Как пересканировать устройства шины scsi? Определение использования встроенной Linux-системы uClinux Когда xwin запускается по умолчанию при загрузке системы Как отложить постфиксное начало на raspbian? Автоматическое шифрование Emacs и gpg SOX обнаруживает тишину при чтении mp3 с url Настройка Apache для запроса сертификата клиента Fedora «disk full», df, du (gui) подтверждает, но gparted показывает, что раздел достаточно большой Не удается получить доступ к http-серверу при запуске ufw, на Raspbian? Есть ли способ узнать, сколько данных я отправил через Интернет? Большое пространство под текстом выше HR в conky

Что такое sourcing мой сценарий оболочки?

У меня есть .zshrc и .zshenv в моем домашнем каталоге. Я добавил новую команду в мой .zshenv который я обнаружил, запускался как минимум 3 раза. Я понял, что случайно попал в него из .zshrc , поэтому я удалил эту строку, но ее все еще запускают дважды.

Я пробовал повторять $0 и $_ в скрипте, и я получаю (~/.zshenv) (~/.zshenv) для первого прохода и (30) (zsh) для второго. Что это может означать? Есть ли лучший способ получить «трассировку стека» с моим абонентом?

Когда вы вызываете zsh вы можете отлаживать то, что происходит, используя ключ -x . Он похож на переключатель -x bash , где он показывает каждую строку, как она выполняется вместе с любыми результатами.

 $ zsh -x ... +/etc/profile.d/mc.sh:3> alias 'mc=. /usr/libexec/mc/mc-wrapper.sh' +_src_etc_profile_d:9> i=/etc/profile.d/PackageKit.sh +_src_etc_profile_d:10> [ -r /etc/profile.d/PackageKit.sh ']' +_src_etc_profile_d:11> . /etc/profile.d/PackageKit.sh +_src_etc_profile_d:9> i=/etc/profile.d/qt.sh +_src_etc_profile_d:10> [ -r /etc/profile.d/qt.sh ']' +_src_etc_profile_d:11> . /etc/profile.d/qt.sh +/etc/profile.d/qt.sh:9> [ -z /usr/lib64/qt-3.3 ']' +_src_etc_profile_d:9> i=/etc/profile.d/udisks-bash-completion.sh +_src_etc_profile_d:10> [ -r /etc/profile.d/udisks-bash-completion.sh ']' +_src_etc_profile_d:11> . /etc/profile.d/udisks-bash-completion.sh +/etc/profile.d/udisks-bash-completion.sh:3> [ -z '' ']' +/etc/profile.d/udisks-bash-completion.sh:3> return +_src_etc_profile_d:9> i=/etc/profile.d/vim.sh +_src_etc_profile_d:10> [ -r /etc/profile.d/vim.sh ']' +_src_etc_profile_d:11> . /etc/profile.d/vim.sh +/etc/profile.d/vim.sh:1> [ -n '' -o -n '' -o -n 4.3.10 ']' ... 

Вывод также может быть перенаправлен в файл для последующего просмотра.

 $ zsh -x 2>&1 | tee zsh.log 

Похоже, что в конце висит, просто Ctrl + c, чтобы остановить его, а затем проверить полученный файл журнала zsh.log .

Вы применили изменения с помощью source ~/.zshrc ? Или выйдите из системы и вернитесь, чтобы изменения вступили в силу.