gpt4 book ai didi

bash - 检查 pwd 是否在 bash 中

转载 作者:行者123 更新时间:2023-12-05 01:21:41 26 4
gpt4 key购买 nike

我正在尝试编写一个 bash 脚本,它将“cd ..”直到找到包含另一个特定目录的目录,或者到达“/”目录。

我想要实现的是:

while test -d REQUIRED_DIR || [[ "$PWD" != "/" ]];do cd ..; done

目标是找到 REQUIRED_DIR 或在到达根目录时停止导航。

下面是不起作用的 bash 代码。

while if [ "$PWD"=="/" ];then echo $PWD;false;else true;fi
do
cd ..
#echo `pwd`
done

即使不在根目录中,if 条件也始终通过。

更新:- 当我像这样在“==”符号上留下空格时,“if”按预期工作 [“$PWD”==“/”]

最佳答案

虽然 if 对我来说是新的,但我不确定您通过组合它们想要实现什么。

我认为您可能只想单独尝试 while:

while [[ "$PWD" != "/" ]] ; do
cd ..
done

或者您可以尝试更简单的方法:

cd /

如果,如您的评论中所述,您需要零碎地完成它,以便您最终进入包含 $REQUIRED_DIR/的第一个目录 如果找不到,您可以简单地执行以下操作:

while [[ "$PWD" != "/" ]] ; do
if [[ -d "$REQUIRED_DIR" ]] ; then
break
fi
cd ..
done

关于bash - 检查 pwd 是否在 bash 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108509/

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