* Martin Bialasinski said: > Marek> /etc/csh.cshrc (and possibly other global shell startup > Marek> scripts) an alias definition, or a function to call mc in a way > Marek> which would preserve the exit path of mc? > > No, directly changing files part of other packages is not allowed by > policy. Hmm... couldn't it be done in a similar way like with inetd.conf? That a program, in this case MC, would register an alias with the shell startup scripts? > Marek> a command from within mc or just does Ctrl-O another subshell > Marek> is invoked by MC - that's three copies of bash for one run of > Marek> MC. > > No, ^o doesn't open a new shell. If you just start mc, you get > > 6832 ttyp8 S 0:00 | \_ bash /usr/bin/mc > 6833 ttyp8 S 0:00 | \_ /usr/bin/mc.real -P > 6835 ttyp5 S 0:00 | \_ bash -rcfile .bashrc > > ^o doesn't change a thing. > > Starting a program (wether in the for- or background) just adds this > programm like in That's right, I was wrong. But still, using a shell script to invoke MC just for the sake of the exit path preservation is a waste of memory. If the alias/function cannot be added to the shell startup scripts for the policy reasons, then maybe it could be included in the skeleton files? Something like this (for POSIX-compliant shells): mc() { if [ -x /usr/bin/mc ]; then MC=$(/bin/mktemp /tmp/mc.XXXXXX) /usr/bin/mc -P "$@" $MC > $MC cd $(cat $MC) rm -f $MC fi } This function put in skeleton would be present for all new users, however a better place would be in the global startup scripts. marek
Attachment:
pgptcgQA8YM3s.pgp
Description: PGP signature