[TUHS] What was your "Aha, Unix!" moment?
William Corcoran
wlc at jctaylor.com
Mon Oct 21 21:55:38 AEST 2019
You could cheat a little:
CHDIR=/usr/newFolder
echo “cd ${CHDIR}” > ./changeEnv
. ./changeEnv
Bill Corcoran
> On Oct 21, 2019, at 6:52 AM, "jason-tuhs at shalott.net" <jason-tuhs at shalott.net> wrote:
>
>
>>> % pwd
>>> /usr/ken
>>> % cd /tmp
>>> % pwd
>>> /usr/ken
>>>
>>> Aha!
>
>> I'm old and slow, had to think about that one. Aha indeed!
>
> I've actually been asking this (or, as a variation, how a child can set environment in its parent) as an interview question for unix sysadmins for the past fifteen or so years. Maybe one in three gets it.
>
> The answer that I'm secretly hoping for, no one has ever yet given me:
>
>
> hashbrown/home/jason-112719: /bin/pwd
> /home/jason
>
> hashbrown/home/jason-112720: ./cd.sh /tmp
>
> hashbrown/home/jason-112721: /bin/pwd
> /tmp
>
> hashbrown/home/jason-112722: cat cd.sh
> cat: cd.sh: No such file or directory
>
> hashbrown/home/jason-112723: cat ~/cd.sh
> #!/bin/sh
>
> test -n "$1" && TARGET=$1 || TARGET=$HOME
>
> ( echo "call (int) chdir(\"$TARGET\")" ; echo detach ; echo quit ) | gdb -q -p $PPID >/dev/null 2>&1 &
>
>
> "With ptrace(2) all things are possible."
>
>
> -Jason
>
More information about the TUHS
mailing list