シェルスクリプトで日付コマンドに変数を渡す際にエラーが発生しました。

シェルスクリプトで日付コマンドに変数を渡す際にエラーが発生しました。

次のコードを使用してGMT時間をAEST時間に変換しようとしていますが、これはうまく機能します。 date --date='TZ="GMT" 2017/07/24 12:00:00' "+%Y-%m-%d %H:%M:%S"

次のように日付変数を上記のクエリにパラメータとして渡すとき:

RequestDate="2017/07/24 12:00:00"

date --date='TZ="GMT" ${RequestDate}' "+%Y-%m-%d %H:%M:%S".

エラーが発生します。

date: invalid date `TZ="GMT" ${RequestDate}`.

一重引用符と二重引用符を使用して複数行を折りたたみました。

ベストアンサー1

一重引用符で囲まれた文字列に変数を配置すると、シェルは変数を拡張しません。努力する:

$ TZ=GMT date --date "${RequestDate}" "+%Y-%m-%d %H:%M:%S"

おすすめ記事