Re: NSTask: program launching another program, potential problem with path: how to do?
Re: NSTask: program launching another program, potential problem with path: how to do?
- Subject: Re: NSTask: program launching another program, potential problem with path: how to do?
- From: Colas B <email@hidden>
- Date: Thu, 10 Apr 2014 21:52:15 +0100 (BST)
Hi,
thanks for your answers !
Your idea sounds good. What can I do if I want both shells invoked from programs and login shells to have the same initialization script? Shall I write a new script that runs first ~/.login and then myprogram ? Or is there a simplier way?
In my case, myprogram is pdflatex (with the -shell-escape option) and myauxprogram is gnuplot.
Colas
Le Jeudi 10 avril 2014 16h32, Jens Alfke <email@hidden> a écrit :
On Apr 10, 2014, at 6:23 AM, Keary Suska <email@hidden> wrote:
This is more likely a shell scripting issue, rather than am NSTask issue, unless sandboxing is somehow interfering, and you are obscuring the issue by not telling us at least how myprogram is locating myauxprogram. The most likely culprit is that the invocation of myauxprogram in myprogram is a relative path that relies on the PATH environment variable that is properly set by the shell, but you don't set in NSTask.
>
Agreed. A problem I’ve run into several times is that shells invoked from programs are not login shells, so they don’t run the same initialization scripts as the shell you use in a terminal. (For instance, a csh login shell runs ~/.login on startup as well as ~/.cshrc, but a non-login shell doesn’t. A similar thing happens with bash but I can never remember which scripts are involved.) If you customize your $PATH in the login-shell startup script, then a shellscript run outside a terminal window won’t have the same path.
—Jens
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden