我将一个应用程序打包为.tar
二进制文件并将其通过 FTP 传输到我的 zOS/linux 目录。
我成功解压了包tar -xvf
。
但是,当我尝试运行setup.sh
应用程序的脚本时,我在标题中收到错误:
FSUM7332 syntax error: got (, expecting Newline
我努力了:
chown myuser setup.sh
chmod 775 setup.sh
.tar
在从我的 Windows 10 桌面以二进制方式 FTP 到 z/OS linux 目录之前,对文件运行校验和。- 检查 shebang 是否设置为 bash,这是正确的。
- 来自 IBM 网站的脚本文本中的 MOTD 下添加了这些行 lust。
unix_command=翻译(unix_command,"-","(") unix_command=翻译(unix_command,"-",")")
无济于事。 - 用于
chtag
将iconv
代码页从 iso 更改为 IBM。
我仍然遇到同样的错误,导致我无法安装该应用程序。
答案1
%dd conv = ascii <<“EOT”|十六进制转储-C #!/usr/local/bin/bash echo 我的脚本中有字母 M 。 环氧乙烷 0+1 条记录 0+1记录输出 0.000029 秒内传输 61 字节(2097152 字节/秒) 00000000 83 81 07 bf bd bc 07 25 3f b3 2f 25 07 b2 b9 3e |.......%?./%...>| 00000010 07 b2 2f bd b8 8e b5 b3 b8 3f 80 28 60 80 bd b3 |../......?.(`...| 00000020 bc b9 ba be 80 b8 2f bd 80 be b8 b5 80 25 b5 be |....../......%..| 00000030 是 b5 bc 80 28 80 b9 3e 80 b9 是 06 8e |....(..>.....| 0000003d %
您的文件(很可能)包含以 UTF-8 或 Latin-1 编码的脚本,在文本以 EBCDIC 编码的系统上显示为乱码。您需要将其重新编码为 EBCDIC。
如果您指示,各种 z/OS 事物将自动为您执行此转换(有限形式),包括托管文件传输。您正在传输一个嵌入在 ustar 存档中的文本文件,因此您必须自己手动进行重新编码,几乎肯定不仅仅是这个文件。
进一步阅读
- ”常见 MFT 问题”。IBM MQ 9.0.x。 IBM。
- ”
_BPXK
环境变量”。z/OS UNIX 系统服务。 GA32-0884-00。 IBM。 2014年。 - https://en.wikipedia.org/wiki/Managed_file_transfer