免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: huanghaojie
打印 上一主题 下一主题

shell 脚本上包含压缩文件如何做 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-08-07 16:09 |只看该作者
sed '1,/^__ARCHIVE_FOLLOWS__/d' $0 >$$.tar
tar tvf $$.tar

fc8下可以,solaris下不行,呵呵。版本差别太大啊。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
22 [报告]
发表于 2008-08-07 16:22 |只看该作者
原帖由 walkerxk 于 2008-8-7 16:01 发表
是删除第一行到__ARCHIVE_FOLLOWS__的内容,$$是pid,不是ppid,你试试echo $$。

他的ppid是生成脚本的时候替换的

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
23 [报告]
发表于 2008-08-07 16:24 |只看该作者
原帖由 welcome008 于 2008-8-7 16:09 发表
sed '1,/^__ARCHIVE_FOLLOWS__/d' $0 >$$.tar
tar tvf $$.tar

fc8下可以,solaris下不行,呵呵。版本差别太大啊。



1.cat 一下脚本,看看里面是$$还是ppid

2.sed加上-e

论坛徽章:
0
24 [报告]
发表于 2008-08-07 17:02 |只看该作者
原帖由 waker 于 2008-8-7 16:22 发表

他的ppid是生成脚本的时候替换的

这个我知道的。但是应该是执行shell的进程的ID,不是他的父进程的ID吧。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
25 [报告]
发表于 2008-08-07 17:09 |只看该作者

回复 #24 walkerxk 的帖子

这个就是交互shell的pid,脚本的ppid

论坛徽章:
0
26 [报告]
发表于 2008-08-07 17:40 |只看该作者
恩我是直接在命令行调式的,没有用脚本。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
27 [报告]
发表于 2008-08-07 21:18 |只看该作者
$为提示符

  1. $ cat >test.sh
  2. #!/bin/bash
  3. sed -nr '/^#tgz/ba;d;:a n;p;ba' $0 | tar zxvf - 2>/dev/null
  4. exit 0
  5. #tgz
  6. $ cat pic.tgz >>test.sh
  7. $ chmod +x test.sh
  8. $ ./test.sh
  9. pic_match/
  10. pic_match/app/
  11. pic_match/app/tags
  12. pic_match/app/test
  13. pic_match/app/Makefile
  14. pic_match/app/test.gdb
  15. pic_match/app/communicate.c.bak
  16. pic_match/app/readn_writen.h
  17. pic_match/app/main.c
  18. pic_match/app/main.o
  19. pic_match/app/NTOHS.h
  20. pic_match/app/pic_match.h
  21. pic_match/app/communicate.c
  22. pic_match/app/communicate.o
  23. pic_match/driver_mfi/
  24. pic_match/driver_mfi/mfi.c.bak
  25. pic_match/driver_mfi/Makefile
  26. pic_match/driver_mfi/mfi.c
  27. pic_match/driver_mfi/mfi.h
复制代码

[ 本帖最后由 cjaizss 于 2008-8-7 21:22 编辑 ]

论坛徽章:
0
28 [报告]
发表于 2008-08-08 12:16 |只看该作者
原帖由 walkerxk 于 2008-8-7 16:01 发表
是删除第一行到__ARCHIVE_FOLLOWS__的内容,$$是pid,不是ppid,你试试echo $$。



晕倒,注意力用错地方了。是删除1到那行的内容

论坛徽章:
0
29 [报告]
发表于 2008-08-08 12:19 |只看该作者
原帖由 waker 于 2008-8-7 16:22 发表

他的ppid是生成脚本的时候替换的



还是老大理解的透彻啊!

景仰的很那!

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
30 [报告]
发表于 2009-02-18 14:44 |只看该作者
收藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP