壳牌档案

2020-07-15 10:30:29

跳至导航跳转要在Unix操作系统中搜索,shar(shell archive的缩写)是使用Unix shar实用程序创建的存档格式。共享文件是一种自解压存档,因为它是有效的shell脚本,执行它将重新创建文件。要解压缩文件,通常只需要标准的Unix Bourne shell sh。

请注意,shar命令不是由单个Unix规范指定的,因此它不是Unix的正式组件,而是一个遗留实用程序。

虽然shar格式具有纯文本的优点,但由于它是可执行的,因此会带来风险;[2]因此,即使在传输文本文件时,通常也首选较旧和更通用的tar文件格式。GNU在GNU Sharutils集合中提供了自己版本的shar。

unshar程序是为其他操作系统编写的,但并不总是可靠的;shar文件是shell脚本,理论上可以做shell脚本能做的任何事情(包括使用增强的或类似工作的shell的不兼容功能),限制了它们在Unix之外的用途。

自解压shell脚本(任何类型,而不仅仅是shar)的缺点是它们依赖于特定的程序实现;使用较旧版本的make elf创建的shell存档,[3]例如,Linux安装程序的原始虚幻锦标赛,由于对陷阱内置命令丢失参数的处理方式的改变,无法在bash 3.x上运行。

James Gosling被誉为编写了shar实用程序的第一个版本[1],并以这个简单的shell脚本的形式编写了该概念的早期示例:[4][5][6]。

#Shar--Shell Archiver AR=$1 Shift,因为我确实回显了一个-$I ECHO&34;ECHO x-$I&34;>;>;$AR ECHO";CAT>;$AR ECHO";$I<;<;&39;!Funky!Stuff!";>;>;$AR CAT$I>;>;$AR ECHO&34;!Funky!Stuff!"。

1987年,墨尔本应用经济和社会研究所的Michael Bednarek编写了相同概念的一个版本,但用于VMS操作系统,作为DCL脚本,VMS_SHAR.COM。[7]后来,施乐的詹姆斯·A·格雷[8]和伦敦国王学院的安迪·哈珀维护和扩展了这个脚本。[9][10]。

“UW-Beave!Jim”(1983年4月2日)。";Re:分隔xlisp分发文件";的程序。新闻组:www.net.Sources。message-id:bnews.uw-beave.451。

^&34;Shar:来自过去的狂轰滥炸。詹姆斯·高斯林:在爪哇路上。2017年3月27日从原件存档。

^在Kernighan和Pike于1984年出版的第97页的《UNIX编程环境》中描述了一个几乎完全相同的脚本,也就是捆绑包。

迈克尔·贝德纳雷克(1987年6月9日)。";VMS";共享(某种程度上)。新闻组:www.comp.os.vms。Usenet:[email protected]