linux realpath 函数,linux – $PWD总是等于$(realpath.)

很容易测试,情况并非总是这样.

$mkdir /tmp/realdir

$cd /tmp/realdir

$echo $PWD

/tmp/realdir

$ln -s realdir /tmp/fakedir

$cd /tmp/fakedir

$echo $PWD

/tmp/fakedir

$realpath .

/tmp/realdir

所以不,$PWD并不总是和$(realpath.)相同.

symbolic links are followed by default or with the -L option

这意味着如果您进入符号链接,变量将相对于符号链接进行解析,而不是相对于物理路径.您可以使用-P选项更改cd命令的此行为.这将导致它报告PWD变量中的物理目录:

$cd -P /tmp/fakedir

$echo $PWD

/tmp/realdir

您可以使用-P选项更改bash的默认行为:

$set -P

$cd /tmp/fakedir

$echo $PWD

/tmp/realdir

$set +P

$cd /tmp/fakedir

$echo $PWD

/tmp/fakedir

当然,尽管您可以在执行cd后将所需的任何内容分配给PWD变量,但它会获取该值:

$cd /tmp/fakedir

$PWD=/i/love/cake

$echo $PWD

/i/love/cake

但那并不是你所要求的.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值