简单给 Shell 脚本提供中文英文多语言国际化支持, bash sh cmd bat 命令行批处理脚本中一个函数搞定

2023-09-13 10:30:07 +08:00
 dearxe2v

直接看原文吧: https://www.cnblogs.com/xiangyuecn/p/17698735.html

平时见别人写的 shell 脚本,要么是英文要么是中文,没见过一个脚本里面同时支持多种语言的,也搜不到什么比较好学的参考资料,于是给 bash 脚本、bat 脚本分别写了一个同时支持中文和英文显示的函数,可以根据用户语言环境,让脚本自动显示成中文或英文。

bat 里面语言的判断比较骚,使用 ver | find "版本" 直接识别是不是中文😂 bash 的判断就简单很多,函数编写也简单


这些脚本目前是用在了两开源库里面,给 windows 环境编写的 bat 脚本,macOS 、Linux 环境编写的 sh 脚本

可以翻翻里面的脚本文件,好使👌

1318 次点击
所在节点    程序员
4 条回复
geelaw
2023-09-13 10:37:22 +08:00
我应该提示一下使用托管代码写密码算法是不宜在生产中使用的,因为无法精准控制密钥何时从内存中删除(垃圾回收算法可能会随意搬动和复制内存数据,所以仅仅是清空或覆写数组是无意义的)。
dearxe2v
2023-09-13 11:01:30 +08:00
@geelaw 哈,这个知识点超纲了哈,不过当内存中的数据如果有比较大的泄露风险时,那本地磁盘上数据只会更不安全,比如 ngnix 里面配置的 rsa 证书密钥,程序中的支付证书密钥,往往是明文存储在本地或硬编码在程序里面。这两库对密钥的使用和其他大部分调用 RSA 的代码差不多,只是封装了一下,和大部分普通程序一样(支付调用示例程序),对密钥在服务器内存中是否安全并没有考虑;如果安全性要求很高,那应当从头设计编写符合安全需求的 RSA 加密程序,包括密钥如何安全的存取,得加钱😆
geelaw
2023-09-13 11:15:56 +08:00
@dearxe2v #2 这种归约式论证不成立。

考虑 A 使用 B 的公钥加密刚刚通过键盘输入的数据,此时加密算法的随机数和明文并不来自于磁盘,如果使坏者得到了此随机数,则此密文丧失安全性,A 当然希望在加密算法运行完毕后从内存里删除随机数和明文。

另外,内存可能是主动发给外界,而不是被窃听的,例如调试崩溃记录的时候,当然希望内存转储里敏感信息越少越好。

题外话:RSA 加密已经不怎么实用了,主要是安全性弱带来的性能问题。
toexplore
2023-09-13 13:55:09 +08:00
gettext ??

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/973285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX