[CentOS] HERE document in docker script file
Gianluca Cecchi
gianluca.cecchi at gmail.com
Tue Apr 30 06:54:58 UTC 2019
On Tue, Apr 30, 2019 at 4:44 AM H <agents at meddatainc.com> wrote:
> I am trying to use a HERE document in a docker script file to generate a
> text file but must be doing something wrong since I get a warning message
> that I did not expect:
>
> EOF: line 6: warning: here-document at line 0 delimited by end-of-file
> (wanted `EOF')
>
> This is the sample script I am testing in my docker file:
>
> RUN bash -c "$(/bin/echo -e "cat << 'EOF' | tee -a /test.txt \
> \n<test> \
> \n someting here \
> \n something else here \
> \n</test>")" \
> EOF
>
> Can anyone see what is wrong in the above statement?
>
> Thanks.
>
>
>
The second EOF should be before the part ")" \ and not after, because it
has to represent the closure of the first one above....
So it should be something like this (I have put /tmp/test.txt as I tested
as non root user that cannot write into /)
bash -c "$(/bin/echo -e "cat <<EOF | tee -a /tmp/test.txt \
\n<test> \
\n something here \
\n</test>
EOF
")"
I also removed the single apex from the first 'EOF'.
I get:
[g.cecchi at ope46 ~]$ ll /tmp/test.txt
ls: cannot access '/tmp/test.txt': No such file or directory
[g.cecchi at ope46 ~]$ bash -c "$(/bin/echo -e "cat <<EOF | tee -a
/tmp/test.txt \
> \n<test> \
> \n something here \
> \n</test>
> EOF
> ")"
<test>
something here
</test>
[g.cecchi at ope46 ~]$ cat /tmp/test.txt
<test>
something here
</test>
[g.cecchi at ope46 ~]$
HIH,
Gianluca
More information about the CentOS
mailing list