在shell脚本 echo命令中,双引号前面的美元符是什么意思?
时间:2019-11-20 08:53:01 来源:igfitidea点击:
例如:
echo $"Hello!"
bash shell 中,echo双引号前面的$是什么意思?
解答
echo 中的美元符号用于将字符串翻译成当前区域设置的语言。
示例
创建西班牙语测试目录
$ mkdir es
创建特定于语言的文件:
$ bash --dump-po-strings greet > es/greet.pot
修改es/greet.pot文件,内容如下:
#: greet:1 msgid "Hello!" msgstr "Hola!"
将消息目录编译为二进制格式:
$ sudo msgfmt -o /usr/share/locale/es/LC_MESSAGES/greet.mo es/greet.pot
创建一个shell脚本test,如下所示:
#!/bin/bash ### 设置语言 TEXTDOMAINDIR=/usr/local/share/locale ### 指定翻译文件 TEXTDOMAIN=greet echo $"Hello!"
添加可执行权限:
$ chmod +x test
测试:
$ LANGUAGE=es_ES ./test