linux bash/windows cmd&powershell(ps) 无须转义的ascii字符

结论

  1. %+-.@_这6个符号是全平台无须转义的ascii字符,windows文件系统不允许分号:,而逗号,会触发powershell转义,等于号=会触发cmd转义
  2. %+,-.:=@_ linux bash上不会添加反斜杠\转义的列表
  3. #$%&\'()*+,-.:;<=>?@[]^_``{|}~ linux除了不支持/路径作为文件名,其他都支持

彩蛋

可以组合成以下颜文字:

+_+
-_-
._.
@_@
0_O
0-0
0u0
0v0
0w0
p0_0q
q0_0p
6_6
L_L

测试程序

#!/bin/env python
import os
name = '''"#$%&\'()*+,-.:;<=>?@[]^_`{|}~'''  # no / \
name = '''%+,-.:=@_'''  # no escape linux; no : for windows fs; no escape windows: ,
name = '''%+-.@_'''   # no escape windows for cmd =
with open(name, 'w') as f:
    ...
os.chmod(name, 0o777)
posted @ 2025-05-14 10:59  Nolca  阅读(23)  评论(0)    收藏  举报