Bash
bash腳本中的雙引號問題
我有一個正在嘗試工作的 shell 腳本。我需要以某種方式輸出,我知道我只是沒有正確地轉義字元。
腳本:
#!/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
當我執行它時,終端中的 set 會發生什麼:
++ 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 命令需要對多字串使用雙引號。
這是在樹莓派上執行的喘息。
改變
TOPIC="dogs cats"
到
TOPIC='"dogs cats"'
"
嵌入到變數中。