我出于某种目的生成了随机字符。我错误地在终端中尝试了以下操作,得到了一些令人惊讶的结果。我使用的是bash
Ubuntu 提供的 shell。
$ echo {Z..a}
Z [ ] ^ _ ` a
受此结果启发,我做到了
$ echo {z..A}
z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
[ ] ^ _ `
我的问题是这五个字符在范围内做什么。它们有什么特殊含义吗?还是我只是在执行一些被禁止的操作。
人们通常使用$ echo {{A..Z},{a..z}}
为了获得小写和大写字符,
答案1
看一下 ascii 表。大写字母 Z 后面就是你得到的那些字符,所以毫不奇怪 - bash 从你告诉它的位置读取 ascii 表,直到你告诉它的位置。\
但是没有显示,因为它通常用于转义序列,例如\n
- 换行符