我怎样才能直接操作PWD?

时间:2016-02-29 19:23:38

标签: linux shell variables cd pwd

我知道当我输入命令cd时会有一个可变的PWD被更改。但是当我尝试手动更改它时,当前目录不会更改。如何直接操纵PWD?

3 个答案:

答案 0 :(得分:4)

POSIX describes PWD

  

可以忽略对此变量的赋值。

分配在bash,dash,ash,zsh或ksh中并不特殊,下次shell更改目录时,该值将被覆盖。

答案 1 :(得分:2)

虽然其他shell也可能支持这样的变量,但cd变量通常特定于bash shell。

bash manual说:

  

PWD

     

cd builtin设置的当前工作目录。

意味着当您使用$PWD内置更改目录时将设置它,但是当您设置TStream时bash不会更改当前目录。

答案 2 :(得分:0)

至少在我运行bash的Mac和Linux机器上你可以覆盖变量,所以运行PWD = /会将当前目录(在提示中)更改为/.

bash中的变量PWD控制着shell的工作目录(同样只是提示),你会看到PWD =命令之后的目录已被更改,但pwd命令不会受到更改的影响。 / p>

<0>xxxx@dhcp89-089-034:~$ PWD=/
<0>xxxx@dhcp89-089-034:/$ pwd
/Users/xxxx

现在环境变量PWD是一个bash提示符,并不是真正的工作目录,除非你实际使用'cd'命令,否则修改它也不是一件有用的事情。