如果文件夹“test”在我当前目录中的任何位置并且第一次出现后自动进入它,我将如何进行搜索?在mac上使用终端(bash)。
答案 0 :(得分:3)
你可以写:
cd "$(find . -type d -name test -print -quit)"
(警告:这适用于test
,但对于以换行符结尾的任何文件名都不起作用。幸运的是,我从来没有听说过有真正的文件名结尾的人在换行符中 - 它可能,但从未完成 - 文件名是您控制下的参数。所以我无法想象这将是一个问题。)
答案 1 :(得分:2)
如果该目录存在,则以下内容将起作用 - >
cd `find . -name test -type d`
对于bash,我猜以下应该有效 - >
cd $(find . -name test -type d)
答案 2 :(得分:1)
您可以使用bash的globstar
选项来递归搜索目录。
shopt -s globstar
for i in **/*test; do
if [[ -d $i ]]; then
cd "$i"
break
fi
done
答案 3 :(得分:0)
您可以尝试:
if [ -d "test" ]; then cd test; fi
或者简单地说:
[ -d "test" ] && cd test
答案 4 :(得分:-1)
或者只是......
cd test
...如果test
是您只是cd'ed
的目录。
如果不是......那么。