You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GNU bash --dump-po-strings功能解析及示例请求

Bash的--dump-strings和--dump-po-strings选项详解

这两个选项的核心作用是提取bash脚本中以$开头的双引号字符串(即$"..."格式的国际化字符串),只是输出格式不同。先明确:bash里的$"..."是专门用于国际化的语法,当bash启用gettext支持时,这类字符串会被自动翻译为对应语言。

1. --dump-strings(等效于-D)

这个选项会直接将提取到的$"..."字符串按行输出,无额外格式,就是纯字符串列表。

示例

先创建一个测试脚本test.sh:

#!/bin/bash
echo $"Hello, World!"
echo $"Welcome to Bash scripting."
echo "This is a normal string, not extracted."
echo $"Goodbye!"

运行命令:

bash --dump-strings test.sh

输出结果:

Hello, World!
Welcome to Bash scripting.
Goodbye!

可以看到,只有$"..."包裹的字符串被提取,普通双引号字符串不会出现在输出里。

2. --dump-po-strings

这个选项会将提取到的字符串以GNU gettext PO文件格式输出,这种格式是国际化翻译的标准格式,方便后续进行翻译并生成可被bash识别的翻译文件。

示例

用同一个test.sh脚本,运行命令:

bash --dump-po-strings test.sh

输出结果:

msgid "Hello, World!"
msgstr ""

msgid "Welcome to Bash scripting."
msgstr ""

msgid "Goodbye!"
msgstr ""

其中msgid是原始的待翻译字符串,msgstr是翻译后的内容(初始为空,需要翻译人员填写)。后续可以用msgfmt工具将这个PO文件转换成MO二进制文件,让bash加载后自动翻译这些字符串。

内容的提问来源于stack exchange,提问作者user14892865

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:01:17