Rud*_*koŭ 1 string bash string-formatting
我想使用linux bash格式化字符串:
"<username>{0}</username><password>{1}</password>".format("user", "pass")
Run Code Online (Sandbox Code Playgroud)
输出:
<username>user</username><password>pass</password>
Run Code Online (Sandbox Code Playgroud)
正确的命令是什么?我可以使用任何其他通配符代替{0}和{1}
尝试这种参数扩展:
TMPL="<username>\$U</username><password>\$P</password>"
REALNAME="Bobby"
REALPASS="Lamepass"
TMPL=${TMPL/\$U/${REALNAME}}
TMPL=${TMPL/\$P/${REALPASS}}
echo $TMPL
Run Code Online (Sandbox Code Playgroud)
来自printf --help:
-v var 将输出分配给shell变量VAR,而不是将其显示在标准输出上
因此,您需要做的只是:
FMT='<username>%s</username><password>%s</password>'
printf -v VAR "$FMT" user pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |