bash - 在 bash 中在 z/OS USS 上解压缩后,将 sh 脚本转换为正确代码页的命令是什么?

标签 bash jar character-encoding zip zos

我的问题是在 bash 中解压的文件的字符集不是 UTF8。以下是重现该问题的步骤:

  1. 将二进制 zip 文件复制到 USS(ftp - bin - put myfile2unzip.zip)
  2. 使用jar命令解压:jar -xvf myfile2unzip.zip
  3. cat myscript.sh

输出:

{Za???a????{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{@???@....

我尝试过的:

iconv -f UTF8 -t IBM1047 myscript.sh > myscript.uss

这不起作用,输出文件的字符集错误。

最佳答案

bash 中的 jar 命令正在解压缩字符集为 ISO8859-1 的文件 sh 中的 jar 命令将文件解压为 UTF8。

所以 bash 中正确的命令是: iconv -f ISO8859-1 -t UTF8 myscript.sh > myscript.uss

关于bash - 在 bash 中在 z/OS USS 上解压缩后,将 sh 脚本转换为正确代码页的命令是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54118854/

相关文章:

java - 如何在Eclipse中配置外部工具来运行jar文件并加载其他类文件?

android - 是否可以将外部 jar 文件嵌入(合并)到我的 eclipse 库项目中?

java - 显示 'Failed to load Main-Class manifest attribute from TestExample.jar'

java - Dart/Flutter UTF-16 编码

arrays - 如何将 bash 数组格式化为 JSON 数组

linux - Bash getopts 中的多种组合

java - 如何摆脱 HTML 形式的字符

mysql - 在 MySQL 中,是否有一种以编程方式在更改列的编码/排序规则之前检查数据完整性的方法?

linux - Bash 脚本仅在 bash 脚本文件所在的路径中工作

bash - 如何使用包含空格的变量?