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