string - Bash 格式字符串。用值替换占位符。
问题描述
我想使用 linux bash 格式化字符串:
"<username>{0}</username><password>{1}</password>".format("user", "pass")
输出:
<username>user</username><password>pass</password>
执行此操作的正确命令是什么?我可以改用任何其他{0}
通配符{1}
解决方案
来自printf --help
:
-v var 将输出分配给 shell 变量 VAR 而不是在标准输出上显示
所以,你需要做的只是:
FMT='<username>%s</username><password>%s</password>'
printf -v VAR "$FMT" user pass
推荐阅读
- ios - Swift 切换条件数和行标记
- javascript - 字符串化获取“\”的对象
- android - 像 Telegram 一样加载进度条
- spring-boot - Spring Boot 应用程序在 Kafka 消费者重新平衡时停止服务流量
- visual-studio-code - ESLint 不格式化
- python - 如何在scip中获取非零变量列表
- android - 如何将二维数组复制到 Kotlin 中的 RenderScript 分配
- kubernetes - 如何为 Kubernetes 中的特定部署禁用 istio-proxy sidecar 访问日志
- testing - Webdriver 规范中的“键输入状态”是什么意思?
- linux - 无法从 http-> https 重定向,错误::80:绑定:权限被拒绝