我有一个接受可能包含特殊字符的用户输入的脚本。我通过sed配方运行该变量,该配方将查找并转义特殊字符,但如果变量包含' $'输出被截断。如何自动转义可能出现在变量中的任何美元符号?或者我只需要回复一条消息,"如果有一个美元符号,你必须在它前面添加一个反斜杠"?
答案 0 :(得分:0)
示例文件:
$ cat file.txt
Foo
teste $var lorem ipsum
$foo bar $z
Bar
脚本:
#!/usr/bin/env bash
read -p 'Type search pattern: ' pattern
sed -n '/'"${pattern}"'/ p' < file.txt
现在,如果您执行chmod u+x script
,然后执行:
$ ./script
Type search pattern: $var
teste $var lorem ipsum
虽然非常简单但有效。你正在引用东西吗?