Tilde substitution is used to substitute the pathname of a user's home directory for ∼user. Words in the command line that start with the tilde character cause the Korn shell to check the rest of the word up to a slash. If the tilde character is found alone or is only followed by a slash, it is replaced with the value of the HOME variable. This is a handy shortcut borrowed from the C shell. For example, to print the pathname of your home directory:
$ echo ∼ /home/anatole
or to list its contents:
$ ls ∼/ NEWS bin pc asp mail src
If the tilde character is followed by a login name file, it is replaced with the home directory of that user. Here we change directory to the tools directory in smith's home directory:
$ cd ∼smith/tools $ pwd /home/users/admin/smith/tools
If the tilde character is followed by a + or –, it is replaced with the value of PWD (current directory) and OLDPWD (previous directory), respectively. This is not very useful for directory navigation, since cd ∼+ leaves you in the current directory. The cd ∼– command puts you in the previous directory, but the Korn shell provides an even shorter shortcut: cd – does the same thing, except that it also displays the current directory.
$ pwd /home/users/admin/smith/tools $ cd /usr/bin $ cd ∼- $ pwd /home/users/admin/smith/tools $ cd - /usr/bin
∼ | replaced with $HOME |
∼user | replaced with the home directory of user |
∼– | replaced with $OLDPWD (previous directory) |
∼+ | replaced with $PWD (current directory) |
18.117.142.230