在多个引号中扩展 bash 变量?
Expansion of bash variable in multiple quotes?
我正在尝试在 bash 脚本中执行 cURL 命令以 POST 到 URI。该命令要求其中一个参数用双引号和单引号括起来,即 '"jsimmons"'
在我的脚本中但是这个参数是一个变量所以命令一直失败,我认为这是因为变量正在做一些奇怪的扩展和命令正在丢失必要的引号。
对于我当前的尝试,它不起作用,参数看起来像,'""$watcher""'
,因为我试图扩展变量并将该字符串放在双引号和单引号中。
如何正确扩展我的变量以满足命令的要求?
如果整个命令都用双引号引起来,则可以毫无问题地插入单引号,但需要转义双引号。
例如:
$ watcher=jsimmons
$ echo "'\"$watcher\"'"
'"jsimmons"'
你可以用\
转义周围的'
s和"
s
\'\"$watcher\"\'
我正在尝试在 bash 脚本中执行 cURL 命令以 POST 到 URI。该命令要求其中一个参数用双引号和单引号括起来,即 '"jsimmons"'
在我的脚本中但是这个参数是一个变量所以命令一直失败,我认为这是因为变量正在做一些奇怪的扩展和命令正在丢失必要的引号。
对于我当前的尝试,它不起作用,参数看起来像,'""$watcher""'
,因为我试图扩展变量并将该字符串放在双引号和单引号中。
如何正确扩展我的变量以满足命令的要求?
如果整个命令都用双引号引起来,则可以毫无问题地插入单引号,但需要转义双引号。
例如:
$ watcher=jsimmons
$ echo "'\"$watcher\"'"
'"jsimmons"'
你可以用\
'
s和"
s
\'\"$watcher\"\'