打字猴:1.700437547e+09
1700437547 UNIX传奇:历史与回忆 [:1700434715]
1700437548 UNIX传奇:历史与回忆 7.4 公共关系
1700437549
1700437550 贝尔实验室的访客总是络绎不绝。从20世纪70年代中期一直到80年代,Unix演示的会议室是访客们经常光顾的一站。一小群访客坐到会议室里,中心成员简要介绍Unix是怎么回事,以及为什么它对AT&T和世界很重要。我和迈克尔·莱斯克做的演示次数可能比其他人加起来还要多,这可能反映了我俩的性格缺陷:嘴里抱怨不止,实际上却很享受。
1700437551
1700437552 访客既有普通人,也有“大腕”。所谓“大腕”,有时候指其颇具权势,有时指对AT&T很重要,需要好好伺候,有时只是表示访客有点名气。例如,1980年,我为TV Guide(电视指南)杂志的创始人沃尔特 · 安嫩伯格(Walter Annenberg)做过演示。安嫩伯格靠《电视指南》赚到大钱,成功“上位”,做了美国驻圣詹姆士朝廷大使(Ambassador to the Court of St James) [6]。不过在我向他展示Unix的神奇时,他早已卸任了。为了凸显他的身份,贝尔实验室总裁比尔·贝克亲自陪同。
1700437553
1700437554 我的拿手好戏是展示如何使用管道将程序流畅地结合起来,迅速完成临时任务。我用shell脚本来查找文档中潜在的拼写错误,资以作为长管道的佳例,说明既有程序如何以奇异方式组合起来。
1700437555
1700437556 spell脚本最初由史蒂夫·约翰逊编写。其基本思路是,将文档中的单词与词典中的单词做比对。任何出现在文档中但不在词典中的单词都有可能是拼写错误。这个脚本大概是这样的:
1700437557
1700437558 cat document |tr A-Z a-z |              # 转换为小写tr -d ‘,.:;()?!’ |        # 移除标点符号tr ‘ ‘ ‘\n’               # 将单词切割为每行一个sort |                    # 对单词做排序uniq |                    # 去重comm -1- dict             # 输出可输入但在词典中不存在的单词
1700437559
1700437560
1700437561
1700437562
1700437563
1700437564 所有这些程序都是现成的。其中最特别的是comm,用来查找两个已排序的输入文件的相同内容行,或者查找只在其中一个文件中存在的行,诸如此类。本例中的词典是/usr/dict/web2文件,里面列出了前文提到的Webster’s Second International Dictionary中的单词,每行一个。
1700437565
1700437566 有一天,我被安排为威廉·科尔比(William Colby)做演示,他当时是中央情报局(The Center Intelligence Agency,CIA)局长,因此显然是个重要人物。陪同他的仍然是比尔·贝克。作为总统国外情报顾问委员会(President’s Foreign Intelligence Advisory Board)的负责人[7],比尔本身也拥有相当的情报资质。
1700437567
1700437568 我想展示Unix如何让某些种类的编程变得简单,但spell脚本的速度不是特别快,而且我也不想干等着,所以我提前运行脚本,将输出结果捕获到文件,然后写了个新脚本。新脚本的任务是休眠两秒,跟着将前一天计算的结果输出。
1700437569
1700437570 sleep 2cat previously.computed.output
1700437571
1700437572
1700437573
1700437574
1700437575
1700437576 演示效果很好。如果科尔比先生多少听懂了一点的话,他一定会认为拼写检查脚本运行得足够快。当然,对于看过任何演示的人来说,这里有个教训:眼见未必为实!
1700437577
1700437578 公关部门还制作了宣传片,讲述贝尔实验室的丰功伟绩,其中就有几部着重介绍Unix。多亏有YouTube,我还能看到老朋友们(和我自己)年轻时头发浓密的样子。
1700437579
1700437580 公司甚至还投放了一连串的Unix平面广告。图7-4所示的广告中的儿童积木是我的主意,优劣暂且不论。背景是我提供的Troff文档,显示得不是很清楚。
1700437581
1700437582
1700437583
1700437584
1700437585 图7-4 Unix积木,约1980年(贝尔实验室供图)
1700437586
1700437587 [1]  爱立信于2012年收购Telcordia,次年将其改名为iconectiv。——译者注
1700437588
1700437589 [2] asprin是拜耳公司商标,后成为镇痛药的通用说法;escalator原为奥的斯(Otis)电梯公司商标;zipper原为百路驰(Goodrich)轮胎公司商标;App Store原为苹果公司商标。这些名词因使用普遍,被判定成为通用词,不属特定机构所有。——译者注
1700437590
1700437591 [3] 意为“UNIX是贝尔实验室的商标”。——译者注
1700437592
1700437593 [4] 意为“UNIX是贝尔实验室的脚注”。——译者注
1700437594
1700437595 [5] 意为“男女通用”。——译者注
1700437596
[ 上一页 ]  [ :1.700437547e+09 ]  [ 下一页 ]