抑扬^
符()等于电传打印机的向上箭头字符。到SunOS等问世时,这部分已经过去了10多年。在数学表达式中使用了相同的字符(替换),例如^
用于幂(其他可能会使用**
)。它也用于Pascal中以指示指针。
用于表示控制字符,此日期(至少)于1980年之前。例如,您可以在DEC文档中找到它(它在1970年代中期使用teco时肯定已在使用。1973年的实用程序手册(第927页))显示一个controlC例子。
在寻找合适的来源时,我找到了吉尔·史密斯(Gil Smith)的《电传打字机通信代码》,该代码足以在1960年代后期发布(表明其起源也是Unix之前的):
ASCII-63与当前ASCII-67版本基本相同。控制字符(上面的col-1)的定义在两个版本之间有所不同,如下所述。另外,在ASCII-63中,除了以下三个以外,未定义高32位(col-4):RUB(0x7F),ACK(0x7C)和ESC(0x7E)。在ASCII-63中对ALT-MODE字符(0x7D)的引用不一致。在1967年的版本中,RUB变为DEL并停留在相同的位置,但是ACK和ESC移入了控制字符区域(col-1)。在ASCII-67中,^替换了上箭头符号,_替换了左箭头
ASCII-63和ASCII-67是ASCII的常见变体,但似乎也有一些过渡版本:在Teletype Model 33手册中,引用了1965年版本的ASCII,其中SS代替了SUB。 (0x1A),\表示@(0x40),〜表示\(0x5C),用奇数字符代替| (0x7C),和| 表示〜(0x7E)。用于M33和M35机器的电传代码卡表示1966年的ASCII版本,尽管卡上显示的可打印字符在所有版本中均相同。
由于存在在不同的编码(例如ASCII和EBCDIC)之间交换文件的问题,在字符不再以ASCII格式存在很长时间之后,仍有打印机能够渲染向上箭头,因此这曾经是众所周知的。
vi
(至少在SunOS 3.5中也是这样),也使用脱字号/抑扬符来表示ctrl-C,ctrl-V等stty
。另一方面,在那个时代,shell脚本是shell脚本^
的同义词|
,因此在stty
调用时,您总是必须反斜号。好问题。