我试图通过TCL脚本将大文件放到WebSphere MQ队列中。以下就是我现在所拥有的:
exec sh -c "echo $msg | qmqsput targetQueue queueManager
但是我遇到了以下错误:
Couldn't execute "sh": argument list too long
我的消息非常大,并且大于最大参数长度。我该如何解决这个问题?
答案 0 :(得分:2)
没有必要经过sh,所以试试这个:
exec qmqsput targetQueue queueManager << $msg
答案 1 :(得分:0)
您可以先将消息写入文件。
set fn tmsg[pid].txt
set fh [open $fn w]
puts $fh $msg
close $fh
exec sh -c "cat $fn | qmqsput ..."
catch { file delete $fn }