问题标签 [qshell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

printing - 将 IFS 文件发送到 Outq 打印“@”符号行

我正在尝试将文件从 IFS 发送到我们的 AS/400 系统上的 outq。每当我这样做时,我都会得到我发送的确切信息,以及末尾附加的一行不同长度的“@”符号。

这是我正在使用的命令:

的内容test.txt只是Hello World!

我发送命令时得到的输出是

Hello World!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

我没有在网上找到任何关于类似问题的帖子,并尝试更改值并寻找其他开关以使其正常工作。我所做的一切似乎都无法解决这个问题。

是否有我缺少的命令或开关,或者我那里的东西已经导致了这个?

编辑:

我发现了这个文档,这是我第一次看到提到的这个问题,但它不是很有帮助:

“执行操作命令的消息可能由弹出消息中的一长串“at”符号 (@)组成。(在情境中配置的 Reflex 自动化执行操作命令不存在此问题。)针对此问题的解决方案正在构建中。此问题可能会在产品发布时得到解决。如果您发现此问题,请联系 IBM 软件支持。”</p>

唯一的区别是:1)这不是弹出消息,它是打印出来的。2) 我不相信我们使用 Tivoli Monitoring,尽管我可能是错的。

假设我们确实使用 Tivoli Monitoring,解决方案是什么?在那之后没有其他文档,而且我不是系统管理员,所以我不能亲自致电 IBM 软件支持。假设我们不使用它,还有什么可能导致这个问题?

0 投票
1 回答
146 浏览

php - PHP CLI - 命令以退出状态结束 2 故障排除

我正在尝试在 AS400 上从 QShell 运行一些 PHP 代码,它一直给我以下错误消息: Command ended normally with exit status 2. 这很难测试,因为它是一个自动运行它的虚拟用户,当我在我的帐户下运行它时工作得很好。

根据本指南,此返回代码要么是缺少参数(我认为不太可能,因为它对我有用)要么是权限问题,但我已多次检查所有权限,似乎它们都设置正确. 我试图获取一个 PHP 错误日志,但它根本没有被填写,这意味着它甚至没有进入 PHP 代码。

这是我正在运行的示例命令:

/path/php-cli /other_path/myPHP.php "inFile=abc.txt"

有什么方法可以找出缺少正确权限的文件,还是只是寻找复活节彩蛋?

0 投票
1 回答
65 浏览

ibm-midrange - 在 QShell AS/400 (iSeries) 中表示字节

我在使用我通常使用的 unix 工具时遇到问题,因为我无法在 QSHell 中使用某些字符。例如,在 linux 中,我可以像这样替换文件中的特定字节:

sed 's/l/\x81/' a.txt

在这种情况下,我将用字节 x81 替换“l”。但是,在 Qshell 中,我不能使用 \x ,例如,

正如我们所见,\x81 不会打印为“a”,它是 EBCDIC 中的 \x81,即 iSeries 的编码。它甚至没有尝试打印一个字节,它正在打印一个长度为 4 的字符串......

我想做的只是简单地使用 sed 来替换回车,通过回车和换行之类的东西。我意识到 EBCDIC 中不存在字符 \,{} 中也不存在。因此,还有一些 unix 命令使用那些在 QShell 中显示错误的字符。请帮忙,我找不到让事情在线工作的方法,所以我没有写任何脚本。

为了使问题不模棱两可,我特别需要一种在 Qshell 中使用其十六进制表示来打印字符的方法。

我正在使用 PCOMM tn5250 连接到 AS/400。

0 投票
1 回答
184 浏览

ibm-midrange - 在 COBOL iSeries AS/400 中使用 QCMDEXC 回读命令的输出

我在 COBOL 中使用 QCMDEXC 来执行一个 QShell 命令,如下所示:

LS 正在执行,结果显示在屏幕上。但是,我找不到任何地方或想出一种读取输出的方法,在这种情况下,文件/文件夹列表从“unix”再次进入 COBOL。(我验证了命令是由 COBOL 正确启动的,因为如果我通过 STRQSH CMD('LS>fromcobol.txt') 更改它,则会使用正确的输出创建文件 'fromcobol.txt',但我不知道如何将该输出检索到同一个 COBOL 程序中......我对 COBOL 非常无知,我今天开始学习,我花了很长时间才启动命令......)

非常感谢您的帮助...

0 投票
1 回答
41 浏览

powershell - ls | wc -l inside if 语句不起作用

我是 qshell 的新手,想寻求帮助。我正在尝试使用下面的 qshell 命令获取 IFS 目录中的文件计数。

但是我收到此错误“不期望令牌词,期待令牌”。TIA

0 投票
2 回答
36 浏览

ibm-midrange - 运行 QSHELL 脚本的 REST webervice

我有一个运行 RPG 程序的 REST Web 服务,因为我需要使用 Openssl 加密一些数据我已经构建了一个 shell 脚本,它通过 ENV vars 接收数据并在数据区域中发送数据。

Rest_RPG 调用运行 qsh 脚本的 CLP,并从数据区检索数据。如果我以交互方式运行 cl,它会完美运行,并且它会从数据区域检索数据,但是当从 REST Web 服务调用时它不会检索任何内容,我已将 QTMHHTTP 和 QTMHHTP1 授权给 QGPL,但没有运气,有什么想法吗?

脚本:打印 -nr $PASS | openssl enc -aes-128-ecb -K $KEY_HEX -nosalt -base64 | 数据区 -wl $DTAPASS

CLP: CRTDTAARA DTAARA(QGPL/DTAPASS) TYPE(*CHAR) LEN(512) AUT(*ALL) ADDENVVAR ENVVAR(PASS) VALUE(&PPASS) CCSID(*JOB) REPLACE(*YES) qsh('/tmp/script. sh') RTVDTAARA DTAARAQGPL/DTAPASS) RTNVAR(&ENC_PASS)

0 投票
0 回答
85 浏览

java - DB2 for IBM i:将数据传递到 EXCEL

当我通过 shell 命令创建文件时:

File.XLSX 按预期创建。但工作在 wrkactjob 下保持为 TYP(BCI) STATUS(SELW):

有谁知道为什么?以及如何防止它持有 Job ?