我想将此字符串放入变量中,而不必担心转义其中的任何内容。
j!'^+%&/()=1!'^+%&/()c
Run Code Online (Sandbox Code Playgroud)
尝试1:(失败)
VAR='''j!'^+%&/()=1!'^+%&/()c'''
bash: !'^+%: event not found
Run Code Online (Sandbox Code Playgroud)
我该怎么办 ?
从这个答案:
$ IFS='' read -r -d '' var <<'EOF'
j!'^+%&/()=1!'^+%&/()c
EOF
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
Run Code Online (Sandbox Code Playgroud)
或者,使用与 shell 不同的程序接受输入cat:
$ var=$(cat)
j!'^+%&/()=1!'^+%&/()c
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
Run Code Online (Sandbox Code Playgroud)
你输入后,按Enter再Ctrl+ D。
或者,使用bash's printf:
$ xargs -0 printf "\n%q\n"
j!'^+%&/()=1!'^+%&/()c
'j!'\''^+%&/()=1!'\''^+%&/()c'
$ var='j!'\''^+%&/()=1!'\''^+%&/()c'
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
Run Code Online (Sandbox Code Playgroud)
在这里,你需要不按Enter,但按Ctrl+D 两次输入文本后,不得转载。
| 归档时间: |
|
| 查看次数: |
1993 次 |
| 最近记录: |