簡體   English   中英

如何在 linux / unix 中找到 -exec cd

[英]How to find -exec cd in linux / unix

我正在搜索一個配置文件夾,並嘗試更改為該目錄:

find . -name "config" -exec cd {} \;

有一個匹配./my-applications/config ,但在我嘗試后它說:

find: `cd': No such file or directory

我究竟做錯了什么?

命令cd是內置的 shell ,在/bin/usr/bin中找不到。

當然,您不能將目錄更改為文件,並且您的搜索不限於目錄。 而且cd命令只會影響執行的命令,不會影響執行find命令的父 shell。

利用:

cd $(find . -name config -type d | sed 1q)

請注意,如果找不到您的目錄,則命令完成后您將返回主目錄。 sed 1q確保您只將一個目錄名稱傳遞給cd ;Korn shell cd在命令中采用兩個值並執行一些相當明智的操作,但 Z7024FF0860DEC6AB1779A3F71C7 忽略了額外的內容。)

如果您有多個配置目錄:

select config in $(find . -name config -type d)
do
  cd $config
  break
done

find-exec程序作為子進程運行,子進程不能影響其父進程。 所以,是做不到的。 你可能想試試

cd `find . -name "config"`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM