Cas*_*bel 25
使用bash,printf
内置%q
函数有一个额外的格式说明符,它以友好的方式打印相应的参数:
除了标准printf(1)格式,
%b
导致printf的扩大反斜杠转义序列中的相应参数(除了\c
终止输出,反斜杠\'
,\"
和\?
不会被删除,并以八进制溢出开头\0
可以含有至多四个数字),和%q
导致的printf输出在可重新用作壳输入一个格式对应的参数.
所以你可以这样做:
printf %q "$VARIABLE"
printf %q "$(my_command)"
Run Code Online (Sandbox Code Playgroud)
获取变量或命令输出的内容,其格式可以安全地再次作为输入传入(即空间转义).例如:
$ printf "%q\n" "foo bar"
foo\ bar
Run Code Online (Sandbox Code Playgroud)
(我添加了一个换行符,因此它在交互式shell中非常漂亮.)
归档时间: |
|
查看次数: |
5423 次 |
最近记录: |