There is a big difference between the way you coded the call to QSH, and
the way you show running this in QP2TERM, versus the way you have coded
this using QP2SHELL. In QSH, you used an embedded ";" -- so, in
effect, you are passing two commands to QSH. But you did not do that in
your call to QP2SHELL ...
There is a big difference when you do a "cd" to a directory and then run
a command from there, because that directory becomes the "current
directory" and that will not be the current directory in your QP2SHELL
example, the way you have coded it.
I believe you can accomplish what you want as follows:
CALL QP2SHELL PARM('/QOpenSys/bin/sh' 'cd
Or, you could write a PASE shell script and call QP2SHELL to run that
Hope that helps,
Mark S. Waterbury
> On 6/25/2014 5:03 PM, Dale Janus wrote:
I knew there was a difference between them, but I am having trouble
understanding the differences.
When I run this command:
CALL PGM(QP2SHELL) +
I get this error:
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket
Check that mysqld is running and that the socket: '/tmp/mysql.sock'
Press ENTER to end terminal session.
As I see it, I have a big long path that ends with an executable
program mysqld_safe. It needs a parameter of '--user=mysql &'
I am just confused that my end program works to end MYSQL but my start
program does not in QSH.
This cl program ends mysql:
QSH CMD('cd +
-power-64bit; bin/mysqladmin -u root shutdown')
But this cl program will not start it
QSH CMD('cd +
-power-64bit; bin/mysqld_safe --user=mysql &')
I can't see much difference between these two. change directory to a
big long path, then call an executable program, with parameters