加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 19:12:22 所属栏目:安全 来源:网络整理
导读:我的.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 ./ -
我的.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进程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读