如何使用.bashrc中定义的bash函数与find -exec

前端之家收集整理的这篇文章主要介绍了如何使用.bashrc中定义的bash函数与find -exec前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的.bashrc具有以下功能
function myfile {
 file $1
}
export -f myfile

当我直接打电话时,它工作正常

rajesh@rajesh-desktop:~$ myfile out.ogv 
out.ogv: Ogg data,Skeleton v3.0

当我尝试通过exec调用它时,它不起作用

rajesh@rajesh-desktop:~$ find ./ -name *.ogv -exec myfile {} \;
find: `myfile': No such file or directory

有没有办法用exec调用bash脚本函数

任何帮助是极大的赞赏。

更新:

感谢您的回应。

但是这正是我想要避免的,因为我有很多在我的bash脚本中定义的实用程序函数,我想使用其他有用的命令,如find -exec。

我完全看到你的观点,找到可以运行可执行文件,不知道传递的参数是在脚本中定义的函数

我会得到同样的错误,当我尝试exec是在bash提示符。

$ exec myfile out.ogv

我希望可能有一些整洁的技巧,可以给exec一些假设的命令,如“bash -myscriptname -myfunctionname”。

我想我应该尝试找到一些方法来创建一个bash脚本,并用exec运行它。

您可以通过将命令放入bash的StdIn来获取bash来运行一个功能
bash$ find ./ -name *.ogv -exec echo myfile {} \; | bash

上面的命令将为您的示例工作,但您需要注意的是,所有的“myfile …”命令都是立即生成的,并发送到单个bash进程。

原文链接:https://www.f2er.com/bash/387645.html

猜你在找的Bash相关文章