
作業したいシェルスクリプトがあります。何とか出力が必要で、文字が正しくエスケープされていないことを知っています。
スクリプト:
#!/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"'
"
変数に含まれます。