首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储pushd目录堆栈?

如何存储pushd目录堆栈?
EN

Unix & Linux用户
提问于 2020-01-07 09:39:20
回答 1查看 363关注 0票数 5

在一个相关的问题( 有人说 )中,pushd命令的目录堆栈在您的shell终止时被清空。但是堆栈实际上是如何存储的呢?我使用而不是bash,命令的工作方式也是一样的。我假设pushd (和popd)独立于您使用的shell工作。还是两个shell都有自己的实现?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-01-07 09:46:01

目录堆栈不会永久存储在任何地方。Shell只是将其保存在进程内存中,保存在数组DIRSTACK中(该数组对用户修改有限制)。它甚至不是一个严格的堆栈bash和ksh允许你旋转它的左和右指定的计数,也。

在Bash中,dirs命令以各种方式清除或显示堆栈,popd移除任何指定的dir,pushd添加dir或旋转堆栈以更改为任何已存储的dir。

这种情况下,pushd堆栈不会被“清除”。Pushd是一个内置的shell,而不是一个外部命令(它不能改变shell自己的环境)。每个shell保留自己的推数据,当shell进程消失时,内容就会被丢弃。

票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/560781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档