Estou tentando converter um horário GMT para o horário AEST com o código abaixo e está funcionando bem.
date --date='TZ="GMT" 2017/07/24 12:00:00' "+%Y-%m-%d %H:%M:%S"
Quando passo a variável de data como parâmetro para a consulta acima como abaixo:
RequestDate="2017/07/24 12:00:00"
date --date='TZ="GMT" ${RequestDate}' "+%Y-%m-%d %H:%M:%S".
Estou recebendo o erro:
date: invalid date `TZ="GMT" ${RequestDate}`.
Eu tentei com vários encapsulamentos de aspas simples e aspas duplas.
Se você colocar uma variável em uma string com aspas simples, o shell não expandirá a variável. Tentar:
Existem diferentes tipos de cotações no shell e diferentes soluções possíveis. A outra resposta está correta, os valores entre aspas simples não são expandidos. Mas você quer o TZ como parte do argumento e quer que o argumento contenha aspas. Você pode conseguir isso adicionando uma parte entre aspas simples e uma parte entre aspas duplas sem separador.
Você também pode usar uma barra invertida