Folosesc bash variabilă în substituire comandă cu această formatare, cu JSON

0

Problema

Am un script bash care unul de o parte într-o comandă schimbă din timp în timp.
Așa că am încercat pentru a schimba scenariul, așa că am putea cere pentru ea, sau schimba la o parte numai, etc, dar nu pot face asta.

Dacă am scrie acest lucru, funcționează:

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


Am folosit '" "' pentru că așa cum veți vedea în original de comanda este nevoie de " " pentru acea parte.
Cum as putea adauga changing_stuff în mijlocul script?
Multumesc mult!!!

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

Cel mai bun răspuns

1

Următoarele ar trebui să funcționeze. Nu este nevoie să adăugați citate în changing_stuff variabilă. Pune ghilimele jurul variabila când utilizați provoacă întreaga valoare (inclusiv spatiile) pentru a fi trecut ca un singur argument pentru 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

Pari a fi în căutarea de banal

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

Citatele sunt pur și simplu un mecanism pentru păstrarea șir de caractere cu spații în ea ca un singur argument, în ambele locuri.

(Tangențial, de asemenea, doriți să înlocuiți backticks cu comanda moderne de substituție cu sintaxa:)

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

În alte limbi

Această pagină este în alte limbi

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