Bash

bash腳本中的雙引號問題

  • November 21, 2018

我有一個正在嘗試工作的 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"'

"嵌入到變數中。

引用自:https://unix.stackexchange.com/questions/258984