On 02/19/2017 03:46 PM, Patrick O'Callaghan wrote:
On Sun, 2017-02-19 at 05:22 -0800, Mike Wright wrote:
Hi all,

My brain cell ran away from home.  I have an incredibly simple script
that doesn't do what I expect.  I use "mkdir DIR; cd DIR" a lot so I'm
trying to put it in a script: "~/bin/mdcd".

After checking that $1 exists:

dir="$1"
mkdir -p "$dir"
cd "$dir"   <------ never executes

The directory is created so there is no error there.

Huh? Insight anyone?

If it's a Shell script then it's executing in a sub-shell, which then
terminates, so the current directory of the calling Shell is unchanged.

To get the effect you want either use an alias or call "eval".

To both Robert Nichols & Patrick O'Callaghan,

Got it - after resolving a "gotcha". I'm executing this on a machine I shelled into. But after executing the alias mkcd=". /home/mike/bin/mdcd" the path is created but I'm bounced all the back to my local machine!!!

Turns out the script ended with "exit 0" which apparently is executed in the context of the calling bash and logs me out.

Thanks for the help


_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org

Reply via email to