eval and export remove the double quote (") from the string
本问题已经有最佳答案,请猛点这里访问。
我想用下面的方法导出一个带有eval的字符串。但在下面的示例中,我得到了不带引号的字符串作为指示
1 2 3 4 5 6 | root@linux:~# a="{"name":"any"}" root@linux:~# echo $a {"name":"any"} root@linux:~# eval"export -- "b=""$a"""" root@linux:~# echo $b {name:any} ------>> expect {"name":"any"} |
如何解决这个问题?
这对我很有用:
1 2 3 4 5 6 | $ a='{"name":"any"}' $ echo $a {"name":"any"} $ export b="$a" $ echo $b {"name":"any"} |
为什么要使用
1 2 3 4 | $ foo=bar $ export $foo=baz $ echo $bar baz |
我想先说一下,我不太明白你为什么这样做,但请尝试以下方法:
1 2 3 4 5 6 7 | bash-3.2$ a="{"name":"any"}" bash-3.2$ echo $a {"name":"any"} bash-3.2$ eval"export -- b='$a'" bash-3.2$ echo $b {"name":"any"} bash-3.2$ |