echo命令(echo $string)在美元符号之前加双引号的字符串
时间:2020-01-09 10:37:24 来源:igfitidea点击:
Shell脚本示例
创建一个shell脚本,如下所示:
#!/bin/bash ### The location of the message catalog files ### TEXTDOMAINDIR=/usr/local/share/locale ### our .mo file name ### TEXTDOMAIN=greet ### Translate Hello! string according to the current locale ### echo $"Hello!"
注意使用$语法的echo命令。
保存并关闭文件。
键入以下命令来创建特定于语言的文件:
$ bash --dump-po-strings greet > greet.pot
创建hi(印地语),fr(法国)和es(西班牙)语言特定的目录:
$ mkdir {hi,fr,es}
复制master greet.pot,输入:
$ cp greet.pot hi/ $ cp greet.pot fr/ $ cp greet.pot es/
更新印地语专用文件,如下所示:
$ cat hi/greet.pot
输出示例:
#: greet:2 msgid "Hello!" msgstr "नमस्ते!"
更新法语专用文件,如下所示:
$ cat fr/greet.pot
输出示例:
#: greet:2 msgid "Hello!" msgstr "Bonjour!"
更新西班牙语特定文件,如下所示:
cat es/greet.pot
输出示例:
#: greet:2 msgid "Hello!" msgstr "Hola!"
将消息目录编译为二进制格式,输入:
$ sudo msgfmt -o /usr/share/locale/hi/LC_MESSAGES/greet.mo hi/greet.pot $ sudo msgfmt -o /usr/share/locale/fr/LC_MESSAGES/greet.mo fr/greet.pot $ sudo msgfmt -o /usr/share/locale/es/LC_MESSAGES/greet.mo es/greet.pot
如下测试,在您的问候上设置执行权限:
$ chmod +x greet
测试印地语语言环境版本
$ LANG=hi_IN ./greet
或者
$ LANGUAGE=hi_IN ./greet
测试法语语言环境版本,输入:
$ LANGUAGE=fr_FR ./greet
测试西班牙语语言环境版本,输入:
$ LANGUAGE=es_ES ./greet