Linux波浪符扩展

如果一个命令以一个未被引用的“~”(即tilde) 开头,则所有的字符到第一个未被引用的斜杠“/”, 都被认为是一个tilde-prefix。如果tilde-prefix里没有字符再被引用,则这些所有字符会被当作可能的登陆名。如果登陆名是null,则tilde会被HOME这个Shell变量给替换,否则tilde就会被HOME变量和登陆名给替换。

 

例如:

export PATH
="$PATH:~/testdir" 


~/testdir会被扩展成 $HOME /testdir ,假如$HOME 是“/var/home/“,PATH就会添加“ /var/home/testdir”这个变量。

 

另外,如果tilde-prefix是"~+",则Shell变量PWD会代替“+~”。如果tilde-prefix是"~-" ,则Shell变量OLDPWD 会替换“~-”。

 

如果tilde-prefix中的波浪线后还带了一个数字N,则会从dir命令返回的目录堆栈中取第N个目录作为替换。

 

如果没有合法的登陆名或tilde失败,则命令不会受影响,不会变。

 

需要注意的是,每次再给变量赋值时,如果值含有“:”或“=”,则都会检查这些符号后的tilde-prefix,并进行替换。比如前面举的例子,就属于这一类。

你可能感兴趣的:(linux,shell,null,扩展,Path)