首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查pwd是否为bash

检查pwd是否为bash
EN

Stack Overflow用户
提问于 2012-08-24 11:25:48
回答 1查看 5.1K关注 0票数 3

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

我想要达到的目标是:

代码语言:javascript
复制
while test -d REQUIRED_DIR || [[ "$PWD" != "/" ]];do cd ..; done

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

下面是不工作的bash代码。

代码语言:javascript
复制
while if [ "$PWD"=="/" ];then echo $PWD;false;else true;fi
do
        cd ..
        #echo `pwd`
done

即使不在根目录中,if条件也始终会传递。

更新:-当我离开空格b/w时,"if“按预期工作,"==”符号类似于[ "$PWD" == "/" ]

EN

回答 1

Stack Overflow用户

发布于 2012-08-24 11:28:54

while if是对我来说是一个新的,我不完全确定你试图通过合并它们来达到什么目的。

我想你可能想自己尝试一下while

代码语言:javascript
复制
while [[ "$PWD" != "/" ]] ; do
    cd ..
done

或者你可以试试简单得多的方法:

代码语言:javascript
复制
cd /

如果正如您的注释中所指出的那样,您需要零敲碎打地执行此操作,以便在没有找到$REQUIRED_DIR/的第一个目录中结束,则只需执行以下操作:

代码语言:javascript
复制
while [[ "$PWD" != "/" ]] ; do
    if [[ -d "$REQUIRED_DIR" ]] ; then
        break
    fi
    cd ..
done
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12108509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档