如何查找文件并将其设为当前工作目录 (cd)

如何查找文件并将其设为当前工作目录 (cd)

我正在尝试在 Mac 上创建一个可执行脚本,它会搜索一个文件并将其设置为当前目录 ( cd),然后运行更多命令。我开始于

find . -type d  -name "MCsniperPY-master" -exec cd {}

它说我需要一个 + 或一个 ;

  • 我添加了一个+,cmd什么也没做,
  • 我添加一个;,它说我需要一个+;

我对 Unix 编码很陌生,所以如果有更好的方法可以做到这一点,请告诉我。

答案1

使用cd作为 find 的参数-exec将导致find命令内的目录发生更改,当find命令退出时,您仍位于起始目录中。

我会用

cd "$(find . -type d  -name "MCsniperPY-master" -print | head -1)"

在哪里

  • find . -type d -name "MCsniperPY-master" -print 搜索所有名为“MCsniperPY-master”的目录并打印
  • head -1将保留第一个(如果您确定只有一个,则可以省略)
  • cd "$( ... )"将进入该目录(或者如果没有找到任何内容,cd则带您返回目录)$HOME

您可能希望$CDPATH在使用时使用该列表来搜索一组目录cd

相关内容