BASH:替代cd或者在他所在的目录下执行一个脚本

BASH: alternative for cd or execute a script in the directory he stand

我想要这样的命令

    cd ./test/zen/

但使用其中的文件名,就像那样

command ./test/zen/rename.sh

然后进入/test/zen

有办法吗?我不能真正使用管道,因为我需要它来处理

这样的行
find -name "rename.sh" -exec sh {} \;

或者有一个解决方案可以用最后一个命令在他所在的目录而不是我执行最后一个命令的目录中执行脚本...

有什么想法吗? 谢谢^_^

您可以为此目的使用函数:

cdf() {
    cd $(dirname )
}

差错控制、参数检查等等,你懂的。

查找已支持:

find /var -mount -name "ba*" -execdir pwd \;

从人那里找到:

   -execdir command {} +
          Like  -exec, but the specified command is run from the subdirec‐
          tory containing the matched file, which is not normally the  di‐
          rectory in which you started find.  As with -exec, the {} should
          be quoted if find is being invoked from a shell.