some bash help

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: BoBB
Date:  
Subject: some bash help
Yeah after a little while of being frustrated I figured that might be
the problem so I wrote this and it worked fine :)

[ -f /home/bob/.splash ] && \
        [ -f /proc/splash ] && \
                for TTY in `/usr/bin/seq 0 5`; \
                        do /usr/bin/splash -s -u $TTY /usr/share/bootsplash-0.4/console.cfg; \
                done; \
        [ -f /home/bob/.splash ] && /bin/rm /home/bob/.splash; \


And I set local.start to touch /home/bob/.splash and chmod it to 666 so
I can remove it when I login as a user. Now I've got cool looking boot
messages and a cool looking console :)

On Sat, Mar 01, 2003 at 08:34:09AM -0700, Bill Jonas wrote:
> On Fri, Feb 28, 2003 at 04:07:38PM -0700, BoBB wrote:
> > if [ $SPLASH ]
> > then
> >         [ -f /proc/splash ] && \
> >         # switch to a usable image on all consoles \
> >         for TTY in `/usr/bin/seq 0 5`; \
> >                 do /usr/bin/splash -s -u $TTY /usr/share/bootsplash-0.4/console.cfg; \
> >         done; \
> >     export SPLASH=""
> > fi

>
> $SPLASH only gets set in the user's login shell's environment.
>
> Think of it this way: init is the parent of a getty, which runs the
> login program, which executes your shell if it's satisfied that you
> belong on the system (ie, you give it a valid username and password
> combination). Your shell runs, sources /etc/profile (and your personal
> .profile or .bash_profile), which has commands that set up your
> environment. In the mean time, the getty/login instances running on
> other virtual consoles are unaffected by the change of environment in
> this one shell, and init (which respawns the getty when you log out and
> your shell exits) isn't either.
>
> Perhaps a better way to do it would be to create a file upon login. If
> there will be other users on the system, this could get a little ugly,
> as /tmp and /var/tmp have the sticky bit set, thus denying users the
> privilege of deleting files created by other users.
>
> In any case, that's why it doesn't work.
>
> > #!/bin/bash
> > if [ $SPLASH ]
> > then
> >         echo works
> > fi

> >     
> > and it works as expected, export SPLASH="" causes it to do nothing,
> > export SPLASH="yes" prints 'works' anyone have any ideas?
>
> $SPLASH, again, is only affected in your one particular login
> environment by the things you do in that environment. So yes, that
> script will work as expected when started by hand.
>
> I'd suggest either touching /var/tmp/splash and removing it when you log
> out, or making that file world-writable and writing a value to it.
> (Perhaps you could do something like "num=`cat /var/tmp/splash`; echo
> $[$num+1] >/var/tmp/splash" and do $num-1 upon logout. That way you
> could see how many users are logged in. Just an idea.
>
> -- 
> Bill Jonas    *        *    http://www.billjonas.com/
> "It's a dangerous business, Frodo, going out your front door.  You step
> into the Road,  and if you don't keep your feet,  there  is  no knowing
> where you might be swept off to."  --  Bilbo Baggins




--
/* BoBB
* AIM: Jodokast49 ICQ: 151495596
* Jabber:
* http://knightsofchaos.com/~BoBB/new/
*/