经过一番挖掘之后,我没有一个真正的答案,但至少有一些历史事实支持了新的信息来增加这次对话。
这是彼得·丘布(Peter Chubb)https://www.youtube.com/watch?v=Sye3mu-EoTI在他的有关外壳的演讲之一中,大约19:00左右,您可以听到他提到为什么e
默认编辑器是别名在unix外壳中,这是因为较旧的终端设备不太舒适或不易使用,并在其上键入是令人不愉快的体验。
他提到的是一个精确的模型,在这种情况下为https://en.wikipedia.org/wiki/Teletype_Model_33。
经过一番研究(http://www.pdp8.net/asr33/asr33.shtml),我发现这台机器只允许您选择64个字符的池,甚至没有完全的US ASCII支持,即2到6个字符的幂,是6位组合。
实际上,这台机器与ASCII完全无关,这意味着它甚至不只支持ASCII的前64个字符,它只是用于一组完全不相关的输入,并且可能不是标准的(对于我们的现代时代)字符集。
ASR 33电传打字机可以打印64个字符,只允许使用大写字母,数字和符号。
来自http://www.pdp8.net/asr33/asr33.shtml
考虑到要支持大写字母,您确实需要超过6位,并且大写字母超出了64个字符标记(或者如果要跟随表格,则为十进制值63),这证明了它绝对不是美国ASCII。
0 NUL 16 DLE 32 48 0 64 @ 80 P 96 ` 112 p
1 SOH 17 DC1 33 ! 49 1 65 A 81 Q 97 a 113 q
2 STX 18 DC2 34 " 50 2 66 B 82 R 98 b 114 r
3 ETX 19 DC3 35 # 51 3 67 C 83 S 99 c 115 s
4 EOT 20 DC4 36 $ 52 4 68 D 84 T 100 d 116 t
5 ENQ 21 NAK 37 % 53 5 69 E 85 U 101 e 117 u
6 ACK 22 SYN 38 & 54 6 70 F 86 V 102 f 118 v
7 BEL 23 ETB 39 ' 55 7 71 G 87 W 103 g 119 w
8 BS 24 CAN 40 ( 56 8 72 H 88 X 104 h 120 x
9 HT 25 EM 41 ) 57 9 73 I 89 Y 105 i 121 y
10 LF 26 SUB 42 * 58 : 74 J 90 Z 106 j 122 z
11 VT 27 ESC 43 + 59 ; 75 K 91 [ 107 k 123 {
12 FF 28 FS 44 , 60 < 76 L 92 \ 108 l 124 |
13 CR 29 GS 45 - 61 = 77 M 93 ] 109 m 125 }
14 SO 30 RS 46 . 62 > 78 N 94 ^ 110 n 126 ~
15 SI 31 US 47 / 63 ? 79 O 95 _ 111 o 127 DEL
现在我们知道我们从这个东西中得到了64个字符,没有任何真正的标准来支持它们在编码表中,而且我们也没有小写字母,只有大写字母加上符号和数字。
感谢这个网站http://keyboards.jargon-file.org/#ASR33我可以向您展示这种键盘的输入布局
通过按SHIFT键,您还可以
还有一些有关如何生成字符的物理连接如何编码的更多信息http://jargon-file.org/jargon-html/html/B/bit-paired-keyboard.html(该页面还阐明了ASR33和ASCII字符在位级别上都不同)。
我认为有趣的是,没有{
或}
只有一个(
,)
这意味着创建子shell可能没问题,但是创建新进程可能不是那么容易,或者终端不允许。
最后,我认为没有一个真正的科学答案,它可能是一个等待特殊含义的“自由”角色。一件事是必须的:外壳和终端要比ASCII古老,并且考虑ASCII或我们今天所知道的任何编码表都可能无法解决问题。
/etc/passwd
(也包含home和shell列中的路径)。