我的问题是下面的代码将结果放在文件的开头,但我想把它放在一个特定的位置。
#!/bin/bash -x
USER_ID=( User1 User2 User3 )
USER_CONF=/opt/test/config.xml
for i in "${USER_ID[@]}"; do
printf '<user><id>ID</id><name><%s/name></user>\n' "$i" >> "$USER_CONF"
done
我现在在 config.xml 中得到的是:
<company="external">
<enabled>true</enabled>
<users="allowed">
USER_TO_INSERT_HERE
</users>
</company>
<user><id>ID</id><name><User1/name></user>
<user><id>ID</id><name><User2/name></user>
<user><id>ID</id><name><User3/name></user>
在 config.xml 中执行脚本后我想得到的是:
<company="external">
<enabled>true</enabled>
<users="allowed">
<user><id>ID</id><name><User1/name></user>
<user><id>ID</id><name><User2/name></user>
<user><id>ID</id><name><User3/name></user>
</users>
</company>
你知道我怎样才能记录来自 for 的值并将它们写入一个变量,然后在代码中 sed 那个 var 吗?我知道如何 sed 它但不知道如何在 var 中记录值或类似的东西?