この文字列を変数にエスケープすることを心配することなく、変数に入れたいと思います。
j!'^+%&/()=1!'^+%&/()c
試み1:(失敗)
VAR='''j!'^+%&/()=1!'^+%&/()c'''
bash: !'^+%: event not found
どうすればいいですか?
ベストアンサー1
~からこの回答:
$ IFS='' read -r -d '' var <<'EOF'
j!'^+%&/()=1!'^+%&/()c
EOF
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
または、シェル以外のプログラムを介して入力を許可しますcat
。
$ var=$(cat)
j!'^+%&/()=1!'^+%&/()c
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
入力後+をEnter押します。CtrlD
またはbash
以下を使用してくださいprintf
。
$ xargs -0 printf "\n%q\n"
j!'^+%&/()=1!'^+%&/()c
'j!'\''^+%&/()=1!'\''^+%&/()c'
$ var='j!'\''^+%&/()=1!'\''^+%&/()c'
$ echo "$var"
j!'^+%&/()=1!'^+%&/()c
$
ここであなたが必要ですいいえを押して+をEnter押します。CtrlD 二重引用したいテキストを入力した後