you can try removing the "$" when setting your variables and replace the parentheses with command ticks:
#!/usr/bin/sh value=$1 kilo=`echo "scale=2; $value / 1024" | bc` kiloint=`echo "$value / 1024" | bc` mega=`echo "scale=2; $kilo / 1024" | bc` megaint=`echo "$kilo / 1024" | bc` giga=`echo "scale=2; $mega / 1024" | bc` gigaint=`echo "$mega / 1024" | bc` if [ $kiloint -lt 1 ] ; then echo "${value} KB" elif [ $megaint -lt 1 ] ; then echo "${kilo} MB" elif [ $gigaint -lt 1 ] ; then echo "${mega} GB" else echo "${giga} TB" fi good luck and hope this helps. On Thu, Jun 10, 2010 at 2:49 PM, Paul Ward <pnw...@googlemail.com> wrote: > Hi guys, > > Is there someone who can edit my shell script so it works on Solaris 8,9 & > 10. > > It runs fine on Linux but I have not figured out how to get it to run > on Solaris. > > Many thanks > > SCRIPT BEGIN ---> > > #!/usr/bin/sh > > value=$1 > kilo=$( echo "scale=2; $value / 1024" | bc ) > kiloint=$( echo "$value / 1024" | bc ) > > mega=$( echo "scale=2; $kilo / 1024" | bc ) > megaint=$( echo "$kilo / 1024" | bc ) > > giga=$( echo "scale=2; $mega / 1024" | bc ) > gigaint=$( echo "$mega / 1024" | bc ) > > if [ $kiloint -lt 1 ] ; then > echo "${value} KB" > elif [ $megaint -lt 1 ] ; then > echo "${kilo} MB" > elif [ $gigaint -lt 1 ] ; then > echo "${mega} GB" > else > echo "${giga} TB" > fi > > > <---- SCRIPT END > > To run use: > ./convert.sh <SIZE> > _______________________________________________ > Solaris-Users mailing list > Solaris-Users@filibeto.org > http://www.filibeto.org/mailman/listinfo/solaris-users > _______________________________________________ Solaris-Users mailing list Solaris-Users@filibeto.org http://www.filibeto.org/mailman/listinfo/solaris-users