[BL] Simple File Manager 44
Lee Forrest
lforrestster at gmail.com
Fri Feb 2 17:41:39 EST 2007
On Sat, Feb 03, 2007 at 06:43:13PM +1300, 3aoo-cvfd at dea.spamcon.org wrote:
> > > clear
> > > num=1
> > > set "/" "/bin" "/dev" "/etc" "/home" "/lib" "/proc" "/root" "/sbin" "/usr" "/var" ".." `/bin/ls -F`
> > > for file in "$@" ; do
> > > printf "%-20s" "[${num}] $file"
> > > [ `dc $num 4 mod` = 0 ] && echo
> > > num=`expr $num + 1`
> > > done
> >
> > [11] /var [: 0: unknown operand
> >
> > It turns out to be a bug in the dc in BL3 busybox.
>
> You can get the script to work on BL3, by replacing the
> dc line with this:
> ------------------------------------------------------------
> case $num in 4|8|12|16|20|24|28|32|36|40|44|48|52|56|60)echo
> esac
> ------------------------------------------------------------
>
> It's not very elegant, but at least it works on BL3.
I beg to differ. That is a _most_ elegant hack.
This works beautifully:
#!/bin/sh
clear
num=1
set "/" "/bin" "/dev" "/etc" "/home" "/lib" "/proc" "/root" "/sbin" "/usr" "/var" ".." `/bin/ls -F`
for file in "$@" ; do
printf "%-20s" "[${num}] $file"
case "$num" in
4|8|12|16|20|24|28|32|36|40|44|48|52|56|60) echo ;;
esac
num=`expr $num + 1`
done
----------------
[1] / [2] /bin [3] /dev [4] /etc
[5] /home [6] /lib [7] /proc [8] /root
[9] /sbin [10] /usr [11] /var [12] ..
[13] cardmgr [14] chat [15] install-to-hd [16] lsof
[17] nc@ [18] pppd [19] pure-authd [20] pure-ftpd
[21] pure-ftpwho [22] pure-mrtginfo [23] pure-quotacheck[24] pure-uploadscript
[25] receive [26] send [27] tcpdump [28] special/
I sure appreciate the help, Steven. Now I will sit down and play
with your formatting improvements until I understand them.
I saw your posts on dc, about needing the p option. I'd have never figured that
out.
But I like your case hack (it _would_ be more portable) and now I
have _two_ ways to do the same thing, which means that I'll have
an easier time understanding what's going on.
And I now know I have a commandline calculator.
Although I discovered you could do that with calctool, basically.
Now give me one good reason why I should keep calctool around since I
have dc! I do not do fancy mathemtics. Simple algebra is about it, and
all that needs is * and / and + and - and square root, all of which
dc does....
Lee
--
BasicLinux: Small is Beautiful
http://www.basiclinux.com.ru
More information about the BasLinux
mailing list