Fim de arquivo inesperado enquanto procura por script ""

2

Estou tentando executar um script bash e obter o erro "EOF inesperado ao procurar correspondência". Não tenho certeza onde estou bagunçando.

O script foi projetado para inserir arquivos .md como entradas em um programa de diário. O programa de diário usa o seguinte código CLI para inserir cada arquivo .md: 'dayone2 -d="AAAA-MM-DD TT: TT" novo < "nome do arquivo". Então o script extrai a data do próprio nome do arquivo e executa o programa como acima.

#!/bin/bash
#
# October 11, 2015 - John Raymonds
#
for file in *.md
do
# do something on "$file"
year="$(echo "$file" | cut -c 13,14,15,16)"
day="$(echo "$file" | cut -c 18,19)"
month="$(echo "$file" | cut -c 21,22)"
theDate=\"$year"-"$month"-"$day" 12:00PM"\"
#The date should end up in this format "2017-01-24 12:00PM"

/usr/local/bin/dayone2 -d="$theDate" new < "$file"

rm "$file"
done

Onde está o código errado?

    
por Kevin Klassen 25.01.2017 / 01:42

1 resposta

1

A citação em theDate está errada. Deve ser:

theDate="${year}-${month}-${day} 12:00PM"

Ao atribuir a uma variável de string, é melhor usar apenas um único par de aspas duplas ao redor e usar a sintaxe ${} para desambiguar os nomes das variáveis.

    
por 25.01.2017 / 01:54

Tags