작업하려는 쉘 스크립트가 있습니다. 어떻게든 출력이 필요하고 문자를 올바르게 이스케이프 처리하지 못하고 있다는 것을 알고 있습니다.
스크립트:
#!/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"'
"
변수 안에 포함됩니다 .