LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   sh error (https://www.linuxquestions.org/questions/linux-newbie-8/sh-error-567393/)

cragged 07-07-2007 10:57 AM

sh error
 
The following problem does not occur when I run from terminal, but I would like to automate through editor external program calls.

gedit and Texmaker external program calls to metapost work fine, but under certain circumstances (b/etex ) a program, makempx, is called by metapost and I get the error:

sh: makempx: not found

and the required file cannot be made. makempx is in the same /bin folder as mpost which ran in the first place.

This is under Ubuntu Fiesty, TexLive2007, and metapost 1.00 (most recent), required PATH is set in .bashrc and specific configs are set. Again, when I process the file from terminal all goes well.

Tinkster 07-08-2007 12:09 AM

If you invoke bash as sh it doesn't check ~/.bashrc
Create a ~/.profile instead.


Cheers,
Tink

cragged 07-08-2007 09:10 AM

Yes, I went there with trepidation, and added the PATH= ;export $PATH statement:

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi

PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi

But this does not help when run from the text editor. It seems something along this line should work but I am not bash proficient, any suggestions?

Remember, no problems at all when run from command line. What appears to be happening is that the text editor establishes its default path for subprograms so while I had pointed it to the original program (metapost) when that program made a subsequent call the path is from the text editor and misleading.

I have corrected by putting:

#!/bin/sh
PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH
mpost "$GEDIT_CURRENT_DOCUMENT_NAME"

in the text editor call to metapost. I have yet to find how to change the editor's default PATH settings, and may not need to.

Thanks,
Craggy


All times are GMT -5. The time now is 12:10 AM.