AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 461184
Accepted
Yves
Yves
Asked: 2018-08-08 17:12:52 +0800 CST2018-08-08 17:12:52 +0800 CST 2018-08-08 17:12:52 +0800 CST

为什么我不能哪个 pushd

  • 772

pushd在编写 bash 脚本时,我已经使用popd了很长时间。但是今天当我执行时which pushd,我没有得到任何输出。我完全无法理解这一点。我一直认为这pushd只是一个命令,就像cd,ls等等。

那为什么which pushd什么都不给我?

which pushd
  • 1 1 个回答
  • 1114 Views

1 个回答

  • Voted
  1. Best Answer
    slm
    2018-08-08T17:33:19+08:002018-08-08T17:33:19+08:00

    popd并且pushd是内置在 Bash 中的命令,它们不是作为真正的二进制文件存在于 HDD 上的实际可执行文件。

    摘录 bash 手册页
       DIRSTACK
              An array variable (see Arrays below) containing the current 
              contents of the directory stack.  Directories appear in the stack 
              in the order they are displayed by the dirs builtin.  Assigning to 
              members of  this  array variable may be used to modify directories 
              already in the stack, but the pushd and popd builtins must be used 
              to add and remove directories.  Assignment to this variable will 
              not change the current directory.  If DIRSTACK is unset, it loses 
              its special properties, even if it is subsequently reset.
    

    所有内置命令的完整列表可在 Bash 手册页以及此处 - http://structure.usc.edu/bash/bashref_4.html中找到。

    您还可以使用compgen -b或enable获取所有这些内置函数的完整列表:

    补偿
    $ compgen -b | grep -E "^push|^pop"
    popd
    pushd
    
    使能够
    $ enable -a | grep -E "\bpop|\bpus"
    enable popd
    enable pushd
    

    此外,如果您想获得有关内置函数的帮助,可以使用以下help命令:

    $ help popd | head -5
    popd: popd [-n] [+N | -N]
        Remove directories from stack.
    
        Removes entries from the directory stack.  With no arguments, removes
        the top directory from the stack, and changes to the new top directory.
    
    $ help pushd | head -5
    pushd: pushd [-n] [+N | -N | dir]
        Add directories to stack.
    
        Adds a directory to the top of the directory stack, or rotates
        the stack, making the new top of the stack the current working
    
    • 3

相关问题

  • 命令“哪个”不显示自定义 PATH 位置的输出

  • 如何在不更改当前目录的情况下清空 `dirs` 堆栈?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve