shell中的波浪号

时间:2019-04-16 23:59:04  来源:igfitidea点击:

Linux shell中的波浪号是什么意思?

波浪号(~)可以用来表示当前用户的主目录或其他用户的主目录。

语法

显示当前用户的主目录的文件:

ls ~

在主目录中显示一个名为.bashrc的文件:

ls ~/.bashrc
cat ~/.bashrc

如果波浪号前缀是 ~+,则其值等同于shell变量PWD的值。

[root@rhel6 tmp]# ls /tmp
keyring-7SkrJF  orbit-gdm   pulse-nYCrg6jpLVbs
keyring-LeMr0E  orbit-root  pulse-YdcN0xz2Oizj
[root@rhel6 tmp]# pwd
/tmp
[root@rhel6 tmp]# ls ~+
keyring-7SkrJF  orbit-gdm   pulse-nYCrg6jpLVbs
keyring-LeMr0E  orbit-root  pulse-YdcN0xz2Oizj

如果波浪号前缀是~-,则替换shell变量OLDPWD的值(如果设置了该值)。

[root@rhel6 ~]# cd /etc
[root@rhel6 etc]# pwd
/etc
[root@rhel6 etc]# cd /bin
[root@rhel6 bin]# pwd
/bin
[root@rhel6 bin]# echo $OLDPWD
/etc
# 显示的是/etc/目录而不是/bin
[root@rhel6 bin]# ls ~-

abrt                     hosts.allow                   ppp
acpi                     hosts.deny                    prelink.cache
adjtime                  htdig                         prelink.conf