在Linux C语言下,可执行的Shell脚本文件与编译之后的C可执行文件的区别有哪些 ?

可执行的Shell脚本文件本质是一个可执行的文本文件,可以使用sh和./命令执行,而C可执行文件是一个可执行的二进制文件,只能使用./命令执行,并且这两种文件的rwx权限... 可执行的Shell脚本文件本质是一个可执行的文本文件,可以使用sh和./命令执行,而C可执行文件是一个可执行的二进制文件,只能使用./命令执行, 并且这两种文件的rwx权限是一样的,我该怎么区分它们呢,它们之间有什么区别吗 ?谢谢! 展开
 我来答
动力不强
2013-05-23 · TA获得超过554个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:371万
展开全部
二进制文件是机器码,可直接执行,而shell脚本是文本,需依赖sh来解析并执行,shell脚本的第一行一般类似这样:
#!/bin/sh
有了这行,且有执行权时,就可以支持 ./ 方式执行,如果没有这行,或没有执行权时,则只支持 sh xxx 这种方式
简单的识别方法:
用 file 命令识别:
XXX: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x5e6e040ea7ce5bf5dcdfc87398b2f091a1e513f2, stripped
XXX.sh: POSIX shell script, ASCII text executable
LYQGXH
2013-05-23 · TA获得超过409个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:231万
展开全部
shell脚本是shell的一种扩展功能,也就是shell会根据你所写的脚本一条一条的去执行,C写的程序是直接给CPU执行的。
一般来说做一些简单功能,特别是和shell有关的。我们会用shell脚本,如系统环境的设定,开机后执行系统的初始化等。
做一些功能复杂的,特别人用户自已所想到的功能时会用C语。另外如果程序执行是要用到root权限是最好也用C语。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学海识智渊2
2013-05-23 · TA获得超过327个赞
知道小有建树答主
回答量:170
采纳率:50%
帮助的人:104万
展开全部
C可执行文件是编译性文件,必须经过编译器编译过之后,才能运行!
shell脚本不用你编译,随便用一个编辑器,编译完之后./只要没语法错误就可以运行
linux 不看文件后缀,后缀是给人看的,a.sh b.sh a(shelle脚本)都是脚本文件.sh是告诉你这个是脚本文件

当然可以用 file 要测得文件名查看文件类型
追问
再问一下:比如要实现一个功能,什么时候用Shell脚本实现比较好,什么时候用C程序实现比较好 ?
追答
shell脚本是命令解释器,用来跟内核交互的,完成对应用进程的管理,对文件的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式