shell脚本中内嵌可执行文件/文件

示例 test.sh

#!/bin/sh
#追加在shell脚本末尾中的文件可以是可执行文件或者tar压缩包等
file_name="./test.bin"

#使用sed命令把文件内容从shell脚本解析到file_name中,$0是本脚本的名字 $1是传递给本脚本的第一个参数
#sed命令参数说明
# 1,/Alex/ 匹配第一行到有Alex的行
# d 删除指定行
sed "1,/^###END OF THE SCRIPT###/d" "$0" > ${file_name}

#sed解析完之后,对该文件进行其它自定义的操作
chmod u+x ${file_name}
${file_name} && rm -f ${file_name}

exit 0
###END OF THE SCRIPT###
?EFL^B
...
AMIC^@data_start^@__libc_csu_fini^@_sta
  1. ###END OF THE SCRIPT### 这一行之后的内容是使用 cat file_name >> test.sh 命令追加到脚本中的

  2. 先写好脚本,再使用 cat file_name >> test.sh 脚本中,不能先把文件追加到脚本,再进行修改,file_name可以是任意的文件

  3. sed工作原理:sed工作的过程是先从文件中读取一行内容到模式空间里即sed专属的缓存空间,然后判断这行内容是否是需要处理的内容,如果不是就继续从文件中读取下一行,否则对改行内容进行相应处理后输出,然后继续读取下一行进行判断或处理,直到文件最后一行处理完毕整个过程结束。

  4. 测试结果

root@arm:~# cat /bin/date >> test.sh 
root@arm:~# ./test.sh 
Fri Sep  3 13:42:10 CST 2021
root@arm:~# 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值