shell脚本怎样判断文件是可执行文件?

比如当前目录下有很多种类型的文件,asciitext,execute,等等,脚本里怎样把这种execute的文件名提取出来,比如用C编译了的程序名为aaa,我要调用脚本把... 比如当前目录下有很多种类型的文件,ascii text,execute,等等,脚本里怎样把这种execute的文件名提取出来,比如用C编译了的程序名为aaa,我要调用脚本把这个aaa加个后缀,我的这个程序是用automake生成的,或者怎样修改Makefile.am文件,把那个bin_PROGRAM=aaa.out,aaa.out_SOURCES=aaa.c(这样写不行,所以不知道该怎样改)改成功也行,两种方法随便弄好一个都行,都弄好更好,求大神指教,谢谢!
我刚刚找到了个折中的办法,我把所有的程序全部加个后缀,比如a_out,然后在shell脚本里把a_out改为a.out,当然上面说的那两个有解决方法还是不吝赐教,谢谢
展开
 我来答
ppkingpping
2013-06-04 · TA获得超过894个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:622万
展开全部

找到path内的可执行文件:

find /path -executable -type f

或者

find /path -perm /u=x,g=x,o=x

可以写个脚本找出执行文件,并标记:

#!/bin/sh
for file in `find /path -executable -type f`
do
    mv $file $file.exe
done
追问
这个貌似不行,我刚刚试了,是把所有的可执行文件找出来了,我是要找出那种比如被GCC编译过的程序,比如在linux中用file命令查看文件时,a.out为ELF...executable,a.txt为ASCII text,而不是具有可执行权限的文件
本思一体电脑
2013-06-04 · TA获得超过111个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:96.7万
展开全部
在makefile里面修改目标文件就可以了啊。为什么要额外的修改呢?
追问
我试过,但如我上面说的我要生成aaa.out,但是aaa.out_SOURCES=aaa.c,这样不行,所以不知道该怎样写?
追答
你把你的makefile贴出来,我帮你看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式