LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 03-04-29, 11:28 第 1 帖
任我行
 
任我行 的头像
 
 
注册会员  
  注册日期: Dec 2002
  帖子: 31
  精华: 1
 

标题: shell脚本是否可编译成二进制文件????<讨论>


我想把几个shell脚本编译成二进制文件
谢谢指教

此帖于 03-04-29 23:45 被 KornLee 编辑.
  任我行 当前离线   回复时引用此帖
旧 03-04-29, 11:58 第 2 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我还没发现linux有这样的命令,脚本文件的好处,是简单易用,便于随时调整修改,就算能有这样的命令,如果你再修改起来也是不方便的,你可以把脚本用函数的形式:function { command;}加在/etc/profile中,用起来跟可执行文件一样方便呀..其实很多linux命令都是用函数命令.
  KornLee 当前离线   回复时引用此帖
旧 03-04-29, 12:23 第 3 帖
任我行
 
任我行 的头像
 
 
注册会员  
  注册日期: Dec 2002
  帖子: 31
  精华: 1
 

标题: 不行啊?55555


我只是想把已调试好的shell脚本编译一下,让用的人看不出到底执行了什么东东
不行的话是不是只能用C写了???
我对C不熟悉啊
  任我行 当前离线   回复时引用此帖
旧 03-04-29, 19:03 第 4 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

呵~~我在网上问了问,人家都说我有病:(
不过通过改变文件组权限的方法,不知道行不?
  KornLee 当前离线   回复时引用此帖
旧 03-04-29, 21:00 第 5 帖
LYOO
 
LYOO 的头像
 
 
注册会员  
  注册日期: Jan 2003
  帖子: 782
  精华: 37
 

我试过,好象还真不行,呵呵。
脚本文件比较特殊,不象二进制文件,设置一个x权限就可以了,因为执行脚本实际是先读出文件,再交由解释器翻译成指令,如果只给出x权限,是无法执行脚本的。







__________________
http://211.92.88.40/~lyoo/bookmark/bookmark.html
  LYOO 当前离线   回复时引用此帖
旧 03-04-29, 21:05 第 6 帖
tram
 
tram 的头像
 
 
资深版主  
  注册日期: Sep 2002
  帖子: 7,281
  精华: 27
 

如果用perl的话,倒是可以做成可执行文件的。你不妨在perl里用脚本,再编译?http://www.ccw.com.cn/htm/app/aprog/01_3_27_4.asp







__________________
LFS全套中文文档:http://lfs.linuxsir.org(主力)
LFS 英文站点镜像:http://lfs.cosoft.org.cn
二笔输入法 for Linux: http://ebf.cosoft.org.cn

此帖于 03-04-29 21:08 被 tram 编辑.
  tram 当前离线   回复时引用此帖
旧 03-04-29, 21:45 第 7 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

这样作是不是麻烦了些呢? 我正在看perl的书,觉得比shell难多啦~...可不可以把脚本写成函数,放在配置文件中(/etc/profile),然后将再修改配置文件的权限,即,只有root有权力读写,用chattr命令可以吧~...这样以来,普通用户就可以运行那个"命令",而无法查看命令的内容呢?!我试试去~
...
结果--不行!!!

此帖于 03-04-29 22:19 被 KornLee 编辑.
  KornLee 当前离线   回复时引用此帖
旧 03-04-30, 12:38 第 8 帖
任我行
 
任我行 的头像
 
 
注册会员  
  注册日期: Dec 2002
  帖子: 31
  精华: 1
 

标题: 谢谢几位版主的指点


perl我知道是可以编译的,好几年前就看人用过的
本来我还以为脚本也应该可以很简单的编译的,原来这么麻烦啊,呵呵
那我再请教一下,比如我shell里写了这么一句:
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 198.168.80.11/32 www -i eth0 -j ACCEPT
这是ipchains防火墙里的一句,用C该怎么实现????
  任我行 当前离线   回复时引用此帖
旧 03-04-30, 15:55 第 9 帖
idkey
 
idkey 的头像
 
 
注册会员  
  注册日期: Sep 2002
  帖子: 366
  精华: 1
 

标题: exec functions


man 3 exec







__________________
我是 xyb 的马甲,呵呵

...."Have you mooed today?"...
  idkey 当前离线   回复时引用此帖
旧 03-05-07, 09:16 第 10 帖
碧轩
 
碧轩 的头像
 
 
注册会员  
  注册日期: Nov 2002
  我的住址: 浙江金华
  帖子: 406
  精华: 5
 

标题: 回复: 不行啊?55555


引用:
最初由 任我行 发表
我只是想把已调试好的shell脚本编译一下,让用的人看不出到底执行了什么东东
不行的话是不是只能用C写了???
我对C不熟悉啊
个人感觉可以用. shellnane.sh这样的执行,这样就不用设置成有x的权限了!注意.和shellname.sh之间是有空格的!
  碧轩 当前离线   回复时引用此帖
旧 03-05-07, 10:24 第 11 帖
Brain
 
 
 
注册会员  
  注册日期: Mar 2003
  帖子: 795
  精华: 2
 

我也在寻找类似问题的解决办法。
C里面有int system(const char*str)
这个函数把str指向的串作为命令传入OS的命令处理程序。
如果把shell脚本作为str的输入不知是否可行







__________________
别以为苦出身就朴实长得拧吧就不花了

台机:P4 1.6G,512M,ATi7500,80GB+15GB
自己的台机:SP 3000+,512M,ATi X550,80G
拿了一个联志8K的机箱。。好沉的说。。
发现本人去年和数码产品相克,今年好像还好
  Brain 当前离线   回复时引用此帖
旧 03-05-07, 11:17 第 12 帖
碧轩
 
碧轩 的头像
 
 
注册会员  
  注册日期: Nov 2002
  我的住址: 浙江金华
  帖子: 406
  精华: 5
 

可以试试!







__________________
碧轩
Blog:
http://www.ourlinux.net
http://bixuan.51.com

yum && apt Repository:
http://apt.ourlinux.net

arch Repository:
http://download.ourlinux.net/Linux/ArchLinux/

MSN:jhxjh[#]hotmail.com
GTK:bixuan[#]gmail.com
  碧轩 当前离线   回复时引用此帖
旧 03-06-19, 17:33 第 13 帖
panlm
 
 
 
注册会员  
  注册日期: Apr 2003
  帖子: 137
  精华: 1
 

引用:
最初由 Brain 发表
我也在寻找类似问题的解决办法。
C里面有int system(const char*str)
这个函数把str指向的串作为命令传入OS的命令处理程序。
如果把shell脚本作为str的输入不知是否可行
我以前试了好像不行, 就算变成二进制,还是能从这个文件中看出明文的shell命令。
  panlm 当前离线   回复时引用此帖
旧 04-08-26, 16:18 第 14 帖
小小菜
 
 
 
注册会员  
  注册日期: Mar 2004
  帖子: 277
  精华: 0
 

我也想知道,有没有哦
  小小菜 当前离线   回复时引用此帖
旧 04-08-26, 23:59 第 15 帖
luoyong 帅哥
 
luoyong 的头像
 
 
★版主☆  
  注册日期: May 2003
  帖子: 716
  精华: 3
 

Shell是专门为解释执行设计的,就和当年的Basic一样
现在还没有编译工具







__________________
Blog: http://iacob.is-programmer.com

Source Repo: http://github.com/Iacob
  luoyong 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 13:15


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org