Bash 스크립트의 큰따옴표 문제

Bash 스크립트의 큰따옴표 문제

작업하려는 쉘 스크립트가 있습니다. 어떻게든 출력이 필요하고 문자를 올바르게 이스케이프 처리하지 못하고 있다는 것을 알고 있습니다.

스크립트:

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

이것을 실행하면 터미널의 설정은 어떻게 되나요?

++ 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

나에게 필요한 것은 "개와 고양이"와 "개와 고양이"입니다. Python 명령에는 여러 단어로 구성된 문자열을 나타내기 위해 큰따옴표가 필요합니다.

이것은 Raspberry Pi에서 실행되는 천명입니다.

답변1

변화

TOPIC="dogs cats"

도착하다

TOPIC='"dogs cats"'

"변수 안에 포함됩니다 .

관련 정보