string - invertidas - concatenar comillas javascript
¿Cómo uso las variables en cadenas entre comillas simples? (7)
Me pregunto cómo puedo hacer eco de una variable dentro de comillas simples (estoy usando comillas simples porque la cadena tiene comillas).
echo ''test text "here_is_some_test_text_$counter" "output"'' >> ${FILE}
Cualquier ayuda sería apreciada grandemente
La forma más legible y funcional utiliza llaves dentro de comillas dobles.
''test text "here_is_some_test_text_''"${counter}"''" "output"'' >> "${FILE}"
Las variables se expanden en cadenas entre comillas dobles, pero no en cadenas entre comillas simples:
$ name=World
$ echo "Hello $name"
Hello World
$ echo ''Hello $name''
Hello $name
Si puedes simplemente cambiar las comillas, hazlo.
Si prefiere mantener comillas simples para evitar el escape adicional, en su lugar puede mezclar y combinar comillas en el mismo argumento:
$ echo ''single quoted. ''"Double quoted. "''Single quoted again.''
single quoted. Double quoted. Single quoted again.
$ echo ''"$name" has the value ''"$name"
"$name" has the value World
Aplicado a su caso:
echo ''test text "here_is_some_test_text_''"$counter"''" "output"'' >> "$FILE"
Puedes hacerlo de esta manera:
$ counter=1 eval echo `echo ''test text /
"here_is_some_test_text_$counter" "output"'' | /
sed -s ''s//"/////"/g''` > file
cat file
test text "here_is_some_test_text_1" "output"
Explicación : el comando Eval procesará una cadena como comando, por lo que después de la cantidad correcta de escape producirá el resultado deseado.
Dice ejecutar la siguiente cadena como comando:
''echo test text /"here_is_some_test_text_$counter/" /"output/"''
Comando de nuevo en una línea:
counter=1 eval echo `echo ''test text "here_is_some_test_text_$counter" "output"'' | sed -s ''s//"/////"/g''` > file
Salida de una variable envuelta con comillas simples:
printf "''"''Hello %s''"''" world
Utilice un heredoc:
cat << EOF >> ${FILE}
test text "here_is_some_test_text_$counter" "output"
EOF
con una subshell:
var=''hello'' echo ''blah_''`echo $var`'' blah blah'';
utilizar printf:
printf ''test text "here_is_some_test_text_%s" "output"/n'' "$counter" >> ${FILE}