I've made a fresh install of Debian Wheezy, and installed zsh to it. Few days after, I've done a vanilla installation of TeX Live 2014, so I added the necessary binary paths to my $PATH. Now I started writing little scripts so I would like to put them somewhere easily accessible, that is ~/bin.My path looks like this:~/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesNow, if I wanted to run something from TeX Live, it's easy:% which pdflatex/opt/texbin/pdflatexNo problem. But when I try running something from ~/bin, ...% which hello_worldhello_world not foundSo I double-checked:% ls -l ~/bintotal 18-rwxr-xr-x 1 bozbalci bozbalci 5382 Sep  8 00:28 hello_worldAnd it shows that hello_world is doing fine in ~/bin with its execution permissions set. I've tried rehash, but it didn't work. Help?
$PATH environment variable does not seem to be recognized
shell;zsh;path;which
In a shell command likePATH=~/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesthe tilde is expanded to your home directory when the shell command is executed. Thus the resulting value of PATH is something like /home/theconjuring/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games.Make sure that the tilde isn't within quotes (PATH=~/bin:), otherwise it stands for itself. To prepend a directory to the current value of PATH, you can usePATH=~/bin:$PATHIn general, in shells other than zsh, $PATH outside double quotes breaks when the value contains spaces or other special characters, but in an assignment, it's safe. With export, however, you need to write export PATH=~/bin:$PATH (though you don't need export with PATH since it's already in the environemnt). In zsh, you don't need double quotes except when the variable may be empty, but if you set PATH in .profile, it's processed by /bin/sh or /bin/bash.If you're setting PATH in ~/.pam_environment, however, you can't use ~ or $HOME to stand for your home directory. This file is not parsed by a shell, it's a simple list of NAME=value lines. So you need to write the paths in full.