如何创建一个具有确切名称“\?$*'ChouMi'*$?\”的文件

问题描述 投票:0回答:1

我必须创建一个名为

"\?$*'ChouMi'*$?\"
的文件。所以输出应该是

$ ls | cat -e
"\?$*'ChouMi'*$?\"$
$
touch "\?$*'ChouMi'*$?\"
 echo. > "\\?\$*'ChouMi'*$?\"
cat <<EOF > "\?$*'ChouMi'*$?\"

这些都不起作用

linux bash unix terminal filesystems
1个回答
0
投票

将名称放在双引号内,这样特殊字符(用于通配符的

*
?
,以及用于引用的
'
)将不会被处理。

但是双引号内,有些字符仍然有特殊含义,需要转义:

  • "
    因为它结束了字符串
  • ?
    因为它引入了变量和命令替换
  • \
    因为它是转义字符。

在所有这些前面加上反斜杠以使它们字面意思。

touch "\"\\?*'ChouMi'*\$?\\\""
© www.soinside.com 2019 - 2024. All rights reserved.