Problema de aspas duplas no script bash

1

Eu tenho um script de shell que estou tentando trabalhar. Eu preciso que a saída seja de uma certa maneira e eu sei que não estou escapando dos personagens corretamente.

script:

#!/bin/bash
set -x
DATE=$(date +%Y-%m-%d-%M)
ELEMENTS="ele1,ele2,ele3"
TOPIC="dogs cats"
FILE="./$DATE.csv"
COMMAND="python /home/script.py"
$COMMAND $ELEMENTS "$TOPIC" | tee -a $FILE

O que acontece do set no terminal quando eu corro é:

++ date +%Y-%m-%d-%M
+ DATE=2016-02-01-21
+ ELEMENTS=a list of elements
+ TOPIC='dogs cats'
+ FILE=./2016-02-01-21.csv
+ COMMAND='python /home/script.py'
+ python /home/script.py ele1,ele2,ele3 'dogs cats'
+ tee -a ./2016-02-01-21.csv

O que eu preciso é "cachorros gatos" vs "cachorros gatos". O comando python requer aspas duplas para seqüências de várias palavras.

Isso é chiado correndo em um pi de framboesa.

    
por RoninUTA 01.02.2016 / 03:34

1 resposta

0

Alterar

TOPIC="dogs cats"

para

TOPIC='"dogs cats"'

para ter " incorporado dentro da variável.

    
por 01.02.2016 / 03:44