繁体   English   中英

linux shell命令中需要转义的字符列表

[英]List of characters which needs to be escaped in a linux shell command

在Linux和其他操作系统中,文件的名称中可以包含(,),[,],<space>,等字符。 每当我尝试在bash命令中使用任何这些文件(例如cat,ls等)时,都需要像下面这样对它们进行转义:

filename abc(10-oct).txt
cat abc(10-oct).txt wont work.

如果我在"("")"字符之前加上"\\"字符,例如

cat abc\(10-oct\).txt

这有效

我正在尝试通过Java程序自动化一些Linux shell命令,但我不确定我必须照顾和逃避哪些字符。

如果有人指向我可以获取完整字符列表的资源,那将是很大的帮助。

非常感谢

引用Shell命令语言

以下字符必须用引号引起来:

| & ; < > ( ) $ ` \\ " ' <space> <tab> <newline>

并且在某些情况下可能需要引用以下内容。 也就是说,根据本规范其他地方描述的条件,这些字符可能是特殊的:

* ? [ # ~ = %

各种引用机制是转义字符,单引号和双引号。

它还说:

将字符括在单引号('')中可保留单引号内每个字符的字面值。 单引号不能出现在单引号内。

和:

用双引号(“”)引起来的字符将保留双引号中所有字符的文字值,但字符$-,反引号和反斜杠除外。

您可以使用单引号'filename'来转义所有需要在shell模式下转义的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM