.zshenv
интерпретируется для каждого вызова оболочки , включая запуск сценариев до~/.zprofile
(для оболочек входа в систему )или~/.zshrc
(интерактивной настройки оболочки ). Поэтому, если вы установите $path
в ~/.zshrc
или ~/.zprofile
, он еще не будет установлен к тому времени, когда zsh
интерпретирует ~/.zshenv
.
Здесь, кажется, вы хотите либо настроить свои сеансы входа в систему, чтобы добавить ~/.cargo/bin
к вашему $path
и набору переменных среды RUST_SRC_PATH
.
Итак, если zsh
является вашей оболочкой входа в систему, добавьте:
typeset -U path
path+=(~/.cargo/bin)
export RUST_SRC_PATH="$(rustc --print sysroot)/lib/rustlib/src/rust/src"
Вашему ~/.zprofile
. Затем, при следующем входе в систему, ваша среда должна быть правильно настроена.
Или поместите эти строки в ~/.zshenv
, если вы хотите, чтобы все ваши zsh
вызовы имели эту среду независимо от того, были ли они запущены как часть вашего сеанса входа в систему или нет.
Если macos stat
подобен FreeBSD, флаги могут быть выражены в спецификации format
с помощью %f
для числовой формы или %Sf
для декодированной текстовой формы, как в ls -lo
.
Подробнее см. man stat
, man chflags
и man ls
в вашей системе.