我在终端中创建这个目录时遇到了困难。我试过了
mkdir '"What's for dinner?"'
但我认为这行不通,因为 中有撇号What's
。所以我尝试转义该撇号:
mkdir '"What\'s for dinner?"'
但它仍然不起作用。有什么想法吗?
编辑:我想保留目录名称中的双引号。
答案1
如果您想创建带有引号的文件夹,则应使用双引号将其"
转义\
:
mkdir "\"\""
将创建文件夹""
mkdir "\"\"'"
将创建文件夹""'
mkdir "'"
将创建文件夹'
mkdir "\"What's for dinner?\""
将创造你想要的
答案2
在单引号内,所有字符都按字面意思理解。但是,这也意味着您不能将单引号放在单引号内。解决方案是使用单引号括住字符串,并在它们之间使用转义的单引号:
mkdir '"What'\''s for dinner?"'
上面的'"What'
是一个单引号字符串。其后跟的是\'
转义的单引号。而 后面跟的是单引号字符串's for dinner?"'
。
上述方法效果很好,因为规则很简单。
另一种方法是$'...'
构造。使用:
mkdir $'"What\'s for dinner?"'
该$'...'
表格确实支持许多转义字符,包括\'
单引号。
答案3
像这样从代码中删除单引号,
mkdir "What's for dinner?"
这将创建一个名为What's for dinner?
更新:
mkdir "'What's for dinner?'"
这将创建一个名为'What's for dinner?'
更新 1:
mkdir "\"What's for dinner?"\"
这将创建一个名为"What's for dinner?"
答案4
您可以使用如下方式转义每个符号字符\
:
$ mkdir What\'s\ for\ dinner\?