gpt4 book ai didi

linux -/bin/sh : pushd: not found

转载 作者:IT老高 更新时间:2023-10-28 12:25:03 41 4
gpt4 key购买 nike

我在 make 文件中执行以下操作

pushd %dir_name%

我得到以下错误

/bin/sh : pushd : not found

谁能告诉我为什么会出现这个错误?我检查了我的 $PATH 变量,它包含/bin,所以我认为这不会导致问题。

最佳答案

pushd 是对 POSIX 指定的 Bourne Shell 的 bash 增强。 pushd 不能轻易地实现为命令,因为当前工作目录是进程的特性,子进程无法更改。 (假设的 pushd 命令 可能 执行 chdir(2) 调用,然后启动一个新的 shell,但是......它不会非常有用。) pushd 是一个内置的 shell,就像 cd 一样。

所以,要么将您的脚本更改为以 #!/bin/bash 开头,要么将当前工作目录存储在一个变量中,完成您的工作,然后再改回来。取决于您是否想要一个可以在非常精简的系统(例如,Debian 构建服务器)上运行的 shell 脚本,或者您是否可以始终需要 bash

关于linux -/bin/sh : pushd: not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5193048/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com