# # some helpful rc(1) functions # source in your $home/lib/profile # e.g., `if(test -f $home/lib/fn){ . $home/lib/fn }` # # custom prompt prompt=(`{cat /dev/user}^@^`{cat /dev/sysname}^'% ' ' ') fn `{echo $prompt(1) | tr -d ' '} { $* } # nice "aliases" fn ..{ cd .. } fn ...{ cd ../.. } fn :q{ exit } fn :wq{ savehist; exit } fn amail{ acme -l $home/lib/dump/mail.acme } fn anew{ acme -l $home/lib/dump/base.acme } fn c{ clear } fn chmor{ chmod +r $* } fn chmot{ chmod +t $* } fn chmow{ chmod +w $* } fn chmox{ chmod +x $* } fn chmost{ chmod 0755 $* } fn chmall{ chmod 0777 $* } fn chown{ chgrp -u $* } fn ll{ ls -l $* } fn mkd{ mkdir -p $* } fn sid{ /bin/sid -sky /lib/sky/here $* } fn su{ rcpu -u $* } fn vtssh{ vt -brx -f /lib/font/bit/spleen/spleen.16.font ssh $* } # stock no-op functions fn cpu%{ $* } fn term%{ $* } # working w/ physical media fn mem{ mount -c <{dossrv -s >[0=1]} /n/dos $1 } fn iso{ mount <{9660srv -s >[0=1]} /n/iso $1 } fn eject{ echo eject > /mnt/cd/ctl } fn cdfs{ /bin/cdfs -d /dev/sdE1 } fn cddb{ cdfs grep aux/cddb /mnt/cd/ctl | rc } fn rip{ cdfs for(t in /mnt/cd/a*) audio/oggenc < $t > `{basename $t}^.ogg }