在shell脚本中嵌入二进制可执行程序

**思路:**将二进制可执行程序添加到shell 末尾,运行shell 时,在将该二进制可执行程序导出来,然后执行导出的二进制程序。

  1. 先准备shell 脚本
[root@liumin 123]# cat test.sh
#!/bin/sh

prog_name="./test.exe"

rm -f ${prog_name}
sed "1,/^### END OF THE SCRIPT###/d" "$0" > ${prog_name}   #导出二进制程序
chmod u+x ${prog_name}
${prog_name}
rm -f ${prog_name}

### WARNING: Do not modify the following!!!
exit 0
### END OF THE SCRIPT### ----------> 这是shell 脚本当前的最后一行
  1. 将二进制可执行程序 /bin/date 嵌入到该shell 脚本中
[root@liumin 123]# cat /bin/date  >> test.sh  
  1. 执行shell脚本 test.sh, 验证是否输出与 date 命令一致:
[root@liumin 123]# ./test.sh
2012年 10月 24日 星期三 16:41:20 CST

如果有多个二进制程序,可以将他们压缩到一个压缩包中,然后将该压缩包添加到shell 结尾(例如使用cat 命令),然后使用同样的方法导出就可以了。

参考资料:http://blog.chinaunix.net/uid-15084954-id-3368201.html

你可能感兴趣的:(linux)