问题标签 [pushd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dockerfile - 可以在 Dockerfile 中使用 pushd/popd 吗?
有没有办法在 Dockerfile 中使用 pushd/popd 命令?如果可能的话,它会使一些安装脚本变得容易得多。
bash - 仅在有时推送“没有这样的文件或目录”
回答:我的问题是 ${DIRSTACK[0]} 包含文字 ~,而 ${DIRSTACK[@]:1} 不会。当我打电话sort
时,我正在重新安排订单,然后移动到的任何 DIRSTACK 元素 ${DIRSTACK[0]} 都无法与 pushd +element 一起使用。我通过不在我的 $HOME/.logs/dirstack 中记录 ${DIRSTACK[0]} 解决了这个问题,这样它就永远不会被重新排序到另一个索引。此错误于2017 年 10 月报告,将在 bash >4.4 的某些版本中修复。
原始问题
所以我尝试编写一个pushd
函数,它可以 1)删除重复项pushd
(因为 bash 没有)和 2)在所有dunique
终端中保留最后 10 个目录,这意味着我必须写入文件。
所以,显然这个函数是愚蠢的,因为通过排序你真的不知道你正在cd
进入哪个目录,但这更接近于一个最小的、可行的、完整的示例来显示问题。
大多数情况下,此功能不起作用,但有时会。失败时,它会显示如下错误:
成功后,它将正确地进入该目录。失败与使用的特定目录无关。所有目录都存在,我可以pushd ~/jenkins/docker
或cd ~/jenkins/docker
没有问题。
mysql - 如何将文件从C复制到网络文件夹?
我想将 C:\file.txt 中的文件复制到 unc 路径为 \fic-bleu\MPM-DICIR\SERVICE-TUNNELS\ 的网络驱动器
我在谷歌看到我必须使用 pushd 和 popd 但它只修改当前提示。而且我不能从这个新提示中使用 mysqldump 命令。
我试过了 :
和
也许我必须先将dumpsql文件保存在我的计算机中,然后复制bu我找不到这样做的方法:(
最后我建立了这个脚本:
但他们说有太多的论点,所以我在谷歌找到了一个解决方案,说要在驱动路径中添加引号,现在它说驱动路径无效......
loops - 为什么 %CD% 不能在带有 PushD 的 for 循环中工作
我想运行一个 .bat 脚本,该脚本创建一个文件并使用与其所在文件夹相同的名称保存它。我希望它在地图中启动并循环遍历子地图。我从下面的代码开始,并在其中一个子图中运行它。那行得通,我得到一个带有子图名称的文件。
所以现在我只需要把它放在一个 for 循环中。所以我做了下面的代码,这是行不通的。似乎%CD%
是指我的父地图(子文件夹),.bat
文件所在的位置,而不是我的子地图(video1、video2 等)。
输出:
我看到下面解释使用的链接,setlocal enabledelayedexpansion
但我无法让它工作。
https://superuser.com/questions/503488/why-doesnt-cd-work-after-using-pushd-to-a-unc-path
任何意见,将不胜感激
bash - bash:在脚本末尾 pushd 后不需要调用 popd 吗?
我在我的 bash 脚本中做一些适当的“pushd/popd 清理”时遇到了一些麻烦。那就是:如果我做pushd
了几次,我想确保做相同数量的popd
before exit
。
但是,我注意到 pushd/popd 堆栈似乎不是全局的。
假设我example-pushd-twice.sh
在 homedir 中调用了这个脚本:
我从我的 homedir 中的 shell 执行此操作:(导致输出块引用)
dirs
~
./example-pushd-twice.sh
/etc ~
/tmp /etc ~
我现在希望仍然在/tmp
并且仍然有一个包含 3 个目录的目录堆栈,但是:
dirs
~
这是正确的行为吗?我可以信任一个 shell 脚本来调用它自己的 pushd/popd 堆栈,这样我就不必关心事后清理了吗?
windows - pushd 无法在延迟扩展的批处理文件中工作
我已经阅读了很多关于pushd
这里和其他网站的问题和答案,其中绝大多数都提到了 UNC 路径的问题。但是,我有一个不同的问题,我没有看到任何提示。
使用 Windows 10 x64 Enterprise(版本 1809),我正在控制台窗口中执行以下批处理文件:
我的问题是pushd
似乎以错误的方式执行或根本没有执行。这意味着我不在运行批处理文件时c:\windows
,但仍在运行它之前所在的目录中。
我拼命尝试了几件事来理解这个问题(知道这些测试没有意义):
- 加
c:\windows
引号 (set DestDir="c:\windows"
) - 加
%DestDir%
引号 (pushd "%DestDir%"
) - 使用
!
而不是%
因为延迟扩展开启,即pushd "!DestDir!"
- 启动控制台窗口我以管理员身份从内部运行批处理文件
但是,当我不打开延迟扩展时,pushd
会按预期工作。换句话说,在运行以下批处理文件之后
c:\windows
无论在运行批处理文件之前我所在的目录如何,我都确实被传送到了。
我想我现在很傻,但我一辈子都无法解决这个问题。那么,pushd
如果延迟扩展处于活动状态,任何人都可以解释为什么会失败吗?
powershell - Powershell“不支持UNC路径”但我正在使用Push-Location
我在 powershell 中运行一个命令行程序,将我们的 \servername\files 文件夹作为运行文件夹。即使我使用的是 Push-Location(这是我在谷歌搜索时找到的唯一解决方案),我也会收到“不支持 UNC 路径”错误。给我这个错误的最简单的代码如下:
bash - 尝试使用 PUSHD/POPD 将脚本从 BASH 转换为 ZSH
我正在尝试将以下脚本从 BASH 转换为 ZSH,但 POPD 无法正常工作......有人可以帮帮我吗?
错误是这个
现在我知道这意味着什么,但我似乎无法修复它......我也在努力寻找有意义的修复。
如果我手动运行脚本,它似乎工作正常,但如果我通过调用 runMyScript 来运行它,那它似乎就失败了。
有人可以帮帮我吗?
python - 在python中实现pushd
我试图了解以下是如何实现 Unix 命令 pushd 的。具体来说,鉴于它不产生任何结果,因此 yield 命令的目的是什么。
根据维基百科,“pushd 命令将当前工作目录保存在内存中,因此可以随时返回,可选择更改为新目录”。此代码块的哪一部分执行此定义中的哪些功能?
linux - 在 linux bash 脚本中,>> 在 pushd 命令中做了什么?
我是学习 bash 脚本的新手,我对以下代码感到困惑:
我知道什么pushd
和popd
是,但是>>
这些行的效果是什么?