I have a very simple script to hide the icons from my desktop

#!/usr/bin/env bash
defaults write com.apple.finder CreateDesktop false
killall Finder

It is located in $USER/bin. Since the update, when I try to execute it using only the name of the script as a command, it doesn't work, the error being zsh: command not found: icon. Same for the other script located in the same folder. If I execute the script by double clicking, it works.


The directory ~/bin/ (e.g. /Users/alice/bin) is no standard path for executables. It has to be added to the PATH variable.

After changing the default login-shell from bash (-10.14) to zsh (10.15-) any customizations of the PATH-variable in .bash_profile/.profile/.bashrc to add custom directories (e.g. export PATH=/Users/alice/bin:$PATH) or other variables (and aliases etc.) won't work anymore in your login-shell.

But you can simply create/modify a similar file for zsh (.zprofile/.zshrc):

touch .zprofile
echo 'export PATH=/Users/alice/bin:$PATH' >> ~/.zprofile

Personally I soft-linked .zshrc to .zprofile:

ln -s ~/.zprofile ~/.zshrc

Afterwards either source this file or close and reopen the Terminal window to make the changes of the PATH variable effective.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .