On May 2, 2022, at 23:49, Sriranga Veeraraghavan wrote:

> On May 2, 2022, at 20:46, Ryan Schmidt wrote:
> 
>> When the MacPorts installer detects that your shell is zsh, it places such a 
>> line in ~/.zprofile. I don't know if there is a significant difference 
>> between putting it in ~/.zprofile vs putting it in ~/.zshenv.
> 
> I am not a zsh user, but according to zsh's documentation, ~/.zprofile is run 
> only when zsh is used as a login shell, whereas ~/.zshenv is read for nearly 
> every instance of zsh (including scripts):
> 
> https://zsh.sourceforge.io/Guide/zshguide02.html#l9
> 
> Because of this, it is possible that if /opt/local/bin, etc., are only added 
> to PATH in ~/.zprofile, then in some instances zsh would use the Apple 
> standard programs in /bin, /sbin, /usr/bin, etc., while in other instances 
> zsh would use, for example, the MacPorts versions in /opt/local/bin, etc.  
> This might lead to inconsistencies or hard to detect bugs in shell scripts, 
> etc. 

MacPorts has been modifying ~/.zprofile when the shell is zsh ever since zsh 
support was added to MacPorts 2.5 years ago. If it is a problem, nobody has 
reported it so far.

https://github.com/macports/macports-base/commit/f9a3b2d5bcc27a1a279184c496a095f31b5d85a2

All shells on macOS are login shells.

Reply via email to