[Vibrant Android Development] ardchoille:
This is what I mean about writing my own scripts:

#!/bin/sh
# Filename: sysmem.sh
# Version: 0.1
# Date: Thu Feb 1 21:21:28 PST 2007
# Author: Ian MacGregor (aka ardchoille)
# License: GPL
# GNU-GPL fully posix compliant and should
# work with all 2.[2-6].* kernels
# This script just displays memory information

#fetch and process memory information
[ -f /proc/meminfo ] && {
Buffers=`grep -we 'Buffers' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
Cached=`grep -we 'Cached' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
MemFree=`grep -ie 'MemFree' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
MemTotal=`grep -ie 'MemTotal' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
SwapCached=`grep -ie 'SwapCached' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
SwapFree=`grep -ie 'SwapFree' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
SwapTotal=`grep -ie 'SwapTotal' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`
}
MEMUSED="$(( ( ( ( $MemTotal - $MemFree ) - $Cached ) - $Buffers ) / 1024 ))"
MEMTOTAL="$(( $MemTotal / 1024))"
MEMFREE="$(( $MEMTOTAL - $MEMUSED ))"
MEMPER="$(( ( $MEMUSED * 100 ) / $MEMTOTAL ))"
[ "$SwapTotal" -gt "1" ] && {
SWAPUSED="$(( ( ( $SwapTotal - $SwapFree ) - $SwapCached ) / 1024 ))"
SWAPTOTAL="$(( $SwapTotal / 1024))"
SWAPFREE="$(( $SWAPTOTAL - $SWAPUSED ))"
SWAPPER="$(( ( $SWAPUSED * 100 ) / $SWAPTOTAL ))"
} || {
SWAPUSED="0"
SWAPTOTAL="0"
SWAPPER="0"
}

# display the information
/bin/echo
/bin/echo "Memory"
/bin/echo "Used: $MEMUSED"
/bin/echo "Free: $MEMFREE"
/bin/echo "Total: $MEMTOTAL"
/bin/echo
/bin/echo "Swap"
/bin/echo "Used: $SWAPUSED"
/bin/echo "Free: $SWAPFREE"
/bin/echo "Total: $SWAPTOTAL"
/bin/echo

or

#!/bin/bash
# Filename: csum.sh
# Version: 0.1
# Requires: md5sum, sha1sum, sed, bash
# Date: Thu Feb 1 21:21:28 PST 2007
# Author: Ian MacGregor (aka ardchoille)
# License: GPL
# This script creates and verifies checksums
# with the option to save created checksum to file

mypath="$HOME"

getfilepath()
{
myfile="/path/file"
while [ ! -f $myfile ]
do
echo "Please enter the path and filename:"
read myfile
if [ ! -f $myfile ]
then
echo "The path you entered does not exist."
echo
else
return
fi
done
}

getsum()
{
mysum=""
while [ ! $mysum ]
do
echo "Please enter the expected checksum:"
read mysum
if [ ! $mysum ]
then
echo "You must provide a checksum to verify."
echo
else
return
fi
done
}

createmd5sum()
{
getfilepath
echo "Working..."
cmd5sum=`md5sum "$myfile"`
echo
echo "MD5SUM report:"
echo $cmd5sum
echo
echo "Save this MD5SUM report to $mypath/mymd5report?"
echo "1" "Yes"
echo "2" "No"
echo "====================="
echo "Please select 1 or 2"
read mysavereport
case $mysavereport in
"1") echo $cmd5sum >> $mypath/mymd5report ; cmd5sum="" ; myfile="" ; mysavereport="" ; return ;;
"2") cmd5sum="" ; myfile="" ; mysavereport="" ; return ;;
*) echo "Please select 1 or 2" ;;
esac
}

createsha1sum()
{
getfilepath
echo "Working..."
csha1sum=`sha1sum "$myfile"`
echo
echo "SHA1SUM report:"
echo $csha1sum
echo
echo "Save this SHA1SUM report to $mypath/mysha1report?"
echo "1" "Yes"
echo "2" "No"
echo "====================="
echo "Please select 1 or 2"
read mysavereport
case $mysavereport in
"1") echo $csha1sum >> $mypath/mysha1report ; csha1sum="" ; myfile="" ; mysavereport="" ; return ;;
"2") csha1sum="" ; myfile="" ; mysavereport="" ; return ;;
*) echo "Please select 1 or 2" ;;
esac
}

verifymd5sum()
{
getfilepath
echo
getsum
echo "Working..."
checkfile=`md5sum "$myfile" | sed 's/ .*//'`
echo
if [ "$checkfile" = "$mysum" ]
then
echo "The expected md5sum matches the file's md5sum."
else
echo "The checksums do not match."
fi
echo
echo "Press the Enter key for Main Menu..."
read
checkfile=""
myfile=""
mysum=""
return
}

verifysha1sum()
{
getfilepath
echo
getsum
echo "Working..."
checkfile=`sha1sum "$myfile" | sed 's/ .*//'`
echo
if [ "$checkfile" = "$mysum" ]
then
echo "The expected sha1sum matches the file's sha1sum."
else
echo "The checksums do not match."
fi
echo
echo "Press the Enter key for Main Menu..."
read
checkfile=""
myfile=""
mysum=""
return
}

while :
do
clear
echo "===================================="
echo "Main Menu"
echo "===================================="
echo "1" "Create an MD5 checksum for a file"
echo "2" "Create an SHA1 checksum for a file"
echo "3" "Verify a file by its MD5 checksum"
echo "4" "Verify a file by its SHA1 checksum"
echo "5" "Quit"
echo "===================================="
echo "Please select 1,2,3,4, or 5"
read mych
case $mych in
"1") clear ; createmd5sum ;;
"2") clear ; createsha1sum ;;
"3") clear ; verifymd5sum ;;
"4") clear ; verifysha1sum ;;
"5") clear ; exit 0 ;;
*) echo "Please select 1,2,3,4, or 5" ;;
esac
done

I don't see how an app is able to do that unless the app comes with its own complete scripting language - in which case the app itself would be 50MB+. To be able to change any value and/or any line to anything I want is what I'm talking about - this makes script writing much more powerful than an app is able to do. That second script example is practically an app itself.