bashヒアドキュメント内での変数展開ができなくて困っています。


以下のようなソースコードなのですが、クオートで囲まなければ変数が展開され出力されるようなのですが、どうしてもうまくいきません。

こちら直し方等教えていただけませんでしょうか。



以下ソースコードです

#!/bin/bash

startdate=$(date +'%Y-%m-%d' -d "`date +%Y%m01 -d '-4 month'`")
enddate=$(date +'%Y-%m-%d' -d "1 days ago `date +%Y%m01 -d '0 month'`")
service=$1

echo <<_EOF_
$startdate
$enddate
$service
_EOF_

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/11/19 18:30:03

回答1件)

id:a-kuma3 No.1

回答回数4974ベストアンサー獲得回数2154

ヒアドキュメントは標準入力で扱われるので、echo ではなく cat で。

#!/bin/bash

startdate=$(date +'%Y-%m-%d' -d "`date +%Y%m01 -d '-4 month'`")
enddate=$(date +'%Y-%m-%d' -d "1 days ago `date +%Y%m01 -d '0 month'`")
service=$1

cat <<_EOF_     # ★ echo → cat
$startdate
$enddate
$service
_EOF_

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません