回答編集履歴

2

回答追記:補足の追加

2017/02/02 02:06

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -81,3 +81,37 @@
81
81
  done
82
82
 
83
83
  ```
84
+
85
+
86
+
87
+ ----
88
+
89
+ 補足
90
+
91
+
92
+
93
+ bashのマニュアルの```<<'EOF'```該当部は以下です。が文章がわかり辛いので[(Qiita)bashのヒアドキュメントを活用する](http://qiita.com/take4s5i/items/e207cee4fb04385a9952#変数展開コマンド置換)を読んでいただければと思います。
94
+
95
+
96
+
97
+ > $ man bash
98
+
99
+ > ヒアドキュメントの形式を以下に示します:
100
+
101
+ >
102
+
103
+ > <<[-]word
104
+
105
+ > here-document
106
+
107
+ > delimiter
108
+
109
+ >
110
+
111
+ > word に対するパラメータ展開・コマンド置換・算術式展開・パス名展開は全く
112
+
113
+ > 行 わ れません。 **word が一部でもクォートされている場合**は、 delimiter は
114
+
115
+ > word のクォートをほどいた結果 (クォート文字を削除した結果) となり、
116
+
117
+ > **ヒアド キュメントに含まれる行では展開が行われなくなります**。

1

回答編集:

2017/02/02 02:06

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- これを解決するには以下のようにしてください。
43
+ これを解決するには以下のようにしてください。```<<EOF```ではなく```<<'EOF'```
44
44
 
45
45
 
46
46
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  export var=foobar
50
50
 
51
- bash << 'EOF'
51
+ /bin/bash <<'EOF'
52
52
 
53
53
  for var in a b c; do
54
54
 
@@ -57,6 +57,12 @@
57
57
  done
58
58
 
59
59
  EOF
60
+
61
+ a
62
+
63
+ b
64
+
65
+ c
60
66
 
61
67
  ```
62
68