Usar bash variable en sustitución de comandos con este formato, con JSON

0

Pregunta

Tengo un script de bash, donde una de las parte en un comando cambia de tiempo en tiempo.
Así que traté de cambiar el guión, por lo que hemos podido hacer por ella, o un cambio en una parte solamente, etc., pero no se puede hacer realmente.

Si escribo esto, es que funciona:

#!/bin/bash
changing_stuff='"Active-2021-xy Part YX"'
total_number=`Command_xy show base name "Active-2021-xy-yz Part YX" limit 1 --format json | jq '.total'`


He usado '" "' porque como se puede ver en el comando original requiere " " para esa parte.
¿Cómo podría yo agregar el changing_stuff en el medio de la secuencia de comandos?
Muchas gracias!

bash linux shell
2021-11-23 14:45:52
2

Mejor respuesta

1

El siguiente debería funcionar. No hay necesidad de agregar citas en su changing_stuff variable. Poner comillas alrededor de la variable cuando se utiliza hace que el valor entero (incluyendo los espacios) se pasa como un argumento único a Command_xy.

#!/bin/bash
changing_stuff='Active-2021-xy Part YX'
total_number=`Command_xy show base name "$changing_stuff" limit 1 --format json | jq '.total'`
2021-11-23 15:06:37
1

Usted parece estar buscando el trivial

#!/bin/bash
changing_stuff='Active-2021-xy Part YX'
total_number=`Command_xy show base name "$changing_stuff" limit 1 --format json | jq '.total'`

Las comillas son simplemente un mecanismo para mantener la cadena con espacios en él como un solo argumento, en ambos lugares.

(Tangencialmente, también desea reemplazar las comillas simples inclinadas con modernas para la sustitución de comandos de sintaxis:)

#!/bin/bash
changing_stuff='Active-2021-xy Part YX'
total_number=$(Command_xy show base name "$changing_stuff" limit 1 --format json | jq '.total')
2021-11-23 15:06:59

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................