динамически создавая файл - PullRequest
0 голосов
/ 07 января 2011

Я хочу сохранить несколько строк в файле etl.xml. Я попробовал следующее, но по понятным причинам это не работает.

cat etl.xml << myscript
<etl>
    <connection id="in" driver="xpath" url="/home/test.xml"/>
        <query connection-id="in">
               /TXNEXP/AUTHADV
         <script connection-id="db">
    </script>
    </query>
 </etl>
myscript

Ответы [ 3 ]

3 голосов
/ 07 января 2011

Просто нужен еще один символ:

508 $ cat xmlhere.sh 
#!/bin/bash

cat > etl.xml << myscript
<etl>
    <connection id="in" driver="xpath" url="/home/XXX/WAVtxnexp20101125.xml"/>
        <query connection-id="in">
               /TXNEXP/AUTHADV
         <script connection-id="db">
    </script>
    </query>
 </etl>
myscript

Это «документ здесь».

1 голос
/ 07 января 2011

Полагаю, вы хотите использовать какой-нибудь маркер конца.В этом случае синтаксис "cat> outputfile << end_marker": </p>

$ cat > etl.xml << EOF
here I write the file contents
EOF

Если вместо этого вы хотите добавить строку "myscript" в etl.xml, то:

$ echo myscript >> etl.xml
0 голосов
/ 07 января 2011

Вы можете сделать это так:

cat myscript > etl.xml

или

echo myscript > etl.xml

Поток:

origin> destiny

Переписатьсодержание>

Добавить >>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...