pushd

在 zsh 中获取脚本时混淆 Pushd/popd 行为
pushd

在 zsh 中获取脚本时混淆 Pushd/popd 行为

我有一个在 bash 中获取的脚本。它可以做各种各样的事情,并保留$PWD我在采购它之前的状态。 pushd ~/.dotfiles >/dev/null || exit 1 # Do various things popd >/dev/null || exit 1 该脚本在 zsh 中也(大部分)运行良好,但是当我从该~/.dotfiles位置获取它时,在获取它之后我最终会进入前一个位置$OLDPWD。 pushd如果当前位置已经相同,zsh 似乎会忽略该行,因此popd命令会转到$OLDPWD脚本来源之前的位置。 有没有办法阻止 zsh...

Admin

如何“对包含文件夹内的多个子目录中的文件执行命令”,即 cd 进入包含文件的每个子目录并执行命令
pushd

如何“对包含文件夹内的多个子目录中的文件执行命令”,即 cd 进入包含文件的每个子目录并执行命令

我在不同的目录中有一个名为 filename.sh 的文件。我正在尝试同时提交此文件以在多个集群节点上运行。我需要找到这个文件,无论它们在哪里,cd到其包含的文件夹中并执行命令“sbatch run_code.sh”这是我尝试过的。 find . -mindepth 1 -type f -name filename.sh -exec sbatch run_code.sh {} \; 它可以工作,只是它从当前文件夹运行命令,该文件夹不包含运行代码所需的依赖项。 或者我倾向于这样的 for 循环 for d in dirname; do cd "$(di...

Admin

zsh 相当于 bash 中的“pushd -n”是什么?
pushd

zsh 相当于 bash 中的“pushd -n”是什么?

我想将目录推送到目录堆栈上,以便使用“波形符简写”引用它(例如,~1引用目录列表中的第二个条目),但我不想实际切换到该目录。在 bash 中,这似乎可以使用标志-nto 来完成pushd。 zsh 中的等效项是什么? ...

Admin

在 bash 中获取类似 tcsh dextract 的 Pushd 功能
pushd

在 bash 中获取类似 tcsh dextract 的 Pushd 功能

我喜欢(4.1.2(1)-release),但我非常喜欢启用该选项的实现bash方式,以至于我拒绝将其用作我的默认 shell。有没有人实现了类似目录堆栈的命令集,或者也许我还没有弄清楚如何诱使行为像启用一样?tcshpushd +Ndextractbashdextractbashbashtcshdextract 症结所在:bash在pushd +N.例如: $ cd /tmp $ pushd a /tmp/a /tmp $ pushd ../b /tmp/b /tmp/a /tmp $ pushd ../c /tmp/c /tmp/b /tmp/a /...

Admin

bash 脚本中的目录堆栈(pushd 和 popd)行为
pushd

bash 脚本中的目录堆栈(pushd 和 popd)行为

如果我写得不好,pushd /etc但我没有完成它popd:脚本完成执行并且 Bash 终止后,它/etc仍然会在pushd+popd目录 stack/in RAM中吗?bash 如果我关闭终端仿真器会话(这应该终止该终端仿真器会话的 shell 进程)而不手动清除它,那么pushd+目录堆栈是否会popd被清除(就像变量一样)?bashpopd ...

Admin

脚本内别名中的$@:是否有“本地”$@?
pushd

脚本内别名中的$@:是否有“本地”$@?

我在 bash shell 中设置了别名,pushd如下所示,以便它抑制输出: alias pushd='pushd "$@" > /dev/null' 这在大多数情况下都可以正常工作,但我现在在带有参数的函数中使用它时遇到了麻烦。例如, test() { pushd . ... } 不带参数运行test就可以了。但有争论: > test x y z bash: pushd: too many arguments 我认为这pushd是试图将其. x y z作为参数而不是仅仅作为参数.。我怎样才能防止这种情况发生?是否有一...

Admin

为什么 `pushd` 总是将堆栈输出到 stdout?
pushd

为什么 `pushd` 总是将堆栈输出到 stdout?

pushd将目录推入目录堆栈,并更改工作目录。我想这就是我们所需要的。 但除此之外,为什么pushd总是将堆栈输出到stdout?我认为这是不必要的,会给屏幕带来混乱,或者我错过了它的意义。谢谢。 ...

Admin

为什么我不能推送
pushd

为什么我不能推送

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

Admin

`mktemp -d` 后跟 `pushd` 在命令行上工作正常,但在脚本中则不行
pushd

`mktemp -d` 后跟 `pushd` 在命令行上工作正常,但在脚本中则不行

如果我将这些行粘贴到 Debian 上的命令提示符中... DIR=$(mktemp -d -t bbbrtc.XXXXXX) || exit 1 echo "tmpdir = $DIR" cd "$DIR" 他们创建一个新的临时目录,打印目录名称,然后pushd进入该目录...... root@beaglebone:/tmp/bbbrtc.2mw02x# DIR=$(mktemp -d -t bbbrtc.XXXXXX) || exit 1 root@beaglebone:/tmp/bbbrtc.2mw02x# echo "tmpdir = $DI...

Admin

Pushd/popd 和 sub-shell+cd 的区别
pushd

Pushd/popd 和 sub-shell+cd 的区别

我试图了解使用以下方法是否有任何好处: pushd my_dir make all # ... or something else popd 与 ( cd my_dir make all # ... or something else ) 或者这只是一种偏好? 我想后一种表示法可能会出现像您可能需要的问题set -e(以及其他标志),但它仍然执行最后一个命令的退出代码,并且在语法方面看起来更好。 ...

Admin

我们如何在“dirs -v”中重现堆栈?
pushd

我们如何在“dirs -v”中重现堆栈?

我有一个文件,其内容是 的输出dirs -v,即目录的路径名: 0 ~/program_files/OS/dirs/recentVisitedDirs 1 ~/cs/security/computer security/OS security/user management/programs ... 您将如何重现目录堆栈,即获取每个目录的路径名并应用于pushd它,而不修改文件的内容? 这是我为此目的编写的脚本: while read line; do pathname="$(awk '{ $1=""; print}'<&l...

Admin

在 Pushd-popd 目录列表上迭代时是否需要 if-fi 段?
pushd

在 Pushd-popd 目录列表上迭代时是否需要 if-fi 段?

我使用以下代码,它是这个脚本我用它来更新我的 WordPress 网站: #!/bin/bash drt="/var/www/html" for dir in ${drt}/*/; do if pushd "$dir"; then wp plugin update --all --allow-root wp core update --allow-root wp language core update --allow-root wp theme update --all --allo...

Admin

Pushd 是如何工作的?
pushd

Pushd 是如何工作的?

在带有 Bash 的 Ubuntu 16.04 中,当我没有便捷的方法来升级所有 WordPress 组件(核心、翻译、主题、插件)时,我遇到了问题,我使用以下代码来解决它: cat <<-EOF > /etc/cron.daily/cron_daily #!/bin/bash drt="/var/www/html" for dir in "$drt/*/"; do if pushd "$dir"; then wp plugin update --all --allow-ro...

Admin