在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 脚本当前的最后一行
2. 将二进制可执行程序 /bin/date 嵌入到该shell 脚本中
[root@liumin 123]# cat /bin/date >> test.sh
3. 执行shell脚本 test.sh, 验证是否输出与 date 命令一致:
[root@liumin 123]# ./test.sh
2012年 10月 24日 星期三 16:41:20 CST
4.如果有多个二进制程序,可以将他们压缩到一个压缩包中,然后将该压缩包添加到shell 结尾(例如使用cat 命令),然后使用同样的方法导出就可以了。
阅读(10664) | 评论(2) | 转发(2) |