Bash脚本pushd、popd命令介绍

在 Bash 脚本中,pushd 和 popd 是非常实用的目录栈操作命令,它们比单纯的 cd 命令更强大,适合在脚本中频繁切换目录但又需要“返回原处”的场景。

pushd 命令

作用
将当前目录压入栈中,然后切换到指定目录。

语法

pushd <目标目录>

例子

pwd               # /home/user
pushd /tmp
pwd               # /tmp

此时目录栈长这样(从栈顶到栈底):

/tmp
/home/user

popd 命令

作用
将栈顶的目录弹出,并切换回上一个目录。

语法

popd

例子

popd
pwd               # /home/user

pushd / popd 组合使用的典型场景

#!/bin/bash
set -e

echo "当前目录: $(pwd)"
pushd /tmp > /dev/null  # 切换到 /tmp,压入当前目录栈,并静音输出
echo "进入目录: $(pwd)"

# 做点事情,比如创建文件
touch testfile

popd > /dev/null        # 返回原目录,并静音输出
echo "返回目录: $(pwd)"

输出示例:

当前目录: /home/user
进入目录: /tmp
返回目录: /home/user

优势

特性pushd/popdcd
保存目录历史
可轻松返回上级
多层嵌套操作
栈结构支持

查看目录栈:dirs

你可以使用:

dirs

来查看当前目录栈的内容。

小技巧

如果你想默认在 shell 中启用 pushd 替代 cd,可以在你的 .bashrc 中添加:

alias cd='pushd'

总结

命令用途
pushd保存当前路径,进入新目录
popd返回之前保存的路径
dirs查看当前路径栈

pushd/popd 非常适合写结构复杂的 bash 脚本,可以让目录切换逻辑更清晰、可控。你要写的脚本里如果涉及“去别处做事,再回来”,强烈推荐用它们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值