问题:执行目录下运行所有可执行文件然后输出的脚本
首先是如何查找当前目录下的所有可执行文件
find . -maxdepth 1 -perm +111
这里设置 -perm +111 体现所有有执行权限的文件,但是似乎输出并不准确,输出了很多目录。
且一些文件并非可执行的,但可设置x权限。 不知道有没有什么好的办法。
此外,脚本我写成
for i in 'find .....’
do
exec $i > outfile
done
似乎也有问题, 且再当前目录在执行所有文件会不会递归调用当前这个脚本?
谢谢。
------解决方案--------------------
------解决方案--------------------寻找可执行的文件,也可用file命令,例如
file * | grep executable
这样所有的可执行文件、shell都可以被找到,而目录和其他类型的文件都不会出现。
缺点是不检测x权限
建议和x权限的检测一起使用。
------解决方案--------------------owenliang@linux-7lsl:~/csdn/src> find . -maxdepth 1 -perm -111 | xargs -n 1 file | egrep "executable" | cut -d ':' -f 1
./client
./server
./main
------解决方案--------------------哦,我是从楼上拷贝下来的,没仔细看哈
for i in `file * | awk -F: '$0~/executable/ {print $1}'`
这样改改