动态创建文件

时间:2011-01-07 11:03:28

标签: linux shell

我想将几行保存为文件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 个答案:

答案 0 :(得分:3)

只需要一个角色:

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 :(得分:1)

我假设你想使用一些结束标记。在这种情况下,语法是“cat&gt; outputfile&lt;&lt; end_marker”:

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

相反,如果要将“myscript”行附加到etl.xml,则:

$ echo myscript >> etl.xml

答案 2 :(得分:0)

你可以这样做:

cat myscript > etl.xml

echo myscript > etl.xml

流程是:

来源&gt;命运

覆盖内容&gt;

追加&gt;&gt;