[英]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.