Usar o bash variável, em substituição de comandos com essa formatação, com JSON

0

Pergunta

Eu tenho um script bash que uma das parte de um comando de alterações ao longo do tempo.
Então, eu tentei mudar o roteiro, então, poderíamos perguntar para ele, ou mudança em uma parte só, etc., mas realmente não posso fazer isso.

Se eu escrever isso, ele 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'`


Eu usei '" "' porque, como você vê na caixa de comando original requer " " para aquela parte.
Como eu poderia adicionar o changing_stuff no meio do script?
Muito obrigado!

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

Melhor resposta

1

O seguinte deve funcionar. Não há necessidade de adicionar citações em seu changing_stuff variável. Colocar aspas à volta da variável, quando você usá-lo faz com que o valor total (incluindo espaços) para ser passado como um argumento único para 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

Você parece estar olhando para o 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'`

As aspas são simplesmente um mecanismo para manter a seqüência de caracteres com espaços como um único argumento, em ambos os lugares.

(Tangencialmente, você também deseja substituir as aspas invertidas moderno, com a substituição de comando sintaxe:)

#!/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

Em outros idiomas

Esta página está em outros idiomas

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