This shows only one possbile solution for each answer, there are others. Using all ksh syntax. 1: for CNT in 1 2 3 4 5 6 7 8 9 10 do print $CNT done CNT=1 while (( CNT <= 10 )) do print $CNT let CNT=$CNT+1 done 2: NAMES="matt bob stephen jack bill rob" for NAME in $NAMES do echo $NAME done 3: cat > /tmp/matt matt bob stephen jack bill rob ^D NAMES=$(cat /tmp/matt) for NAME in $NAMES do echo $NAME done 4: MTPTS="`df -kl | grep \^\\/dev | awk '{print $6}'| sort -u`" for MTPT in $MTPTS do df -k $MTPT done 5: MTPTS="`df -kl | grep \^\\/dev | awk '{print $6}'| sort -u`" for MTPT in $MTPTS do df -k $MTPT done >> /tmp/output.$$ OR MTPTS="`df -kl | grep \^\\/dev | awk '{print $6}'| sort -u`" for MTPT in $MTPTS do df -k $MTPT >> /tmp/output.$$ done 6: CNT=0 while read TEXT do if [[ -z $(echo $TEXT | grep ^#) ]] then let CNT=$CNT+1 echo "${CNT}: $TEXT" fi done < /etc/hosts OR while read TEXT do if [[ -z $(echo $TEXT | grep ^#) ]] then echo "$TEXT" fi done < /etc/hosts | nl 7: grep -v ^# /etc/hosts | awk '{print $1}' awk '$1 !~ "^#" {print $1}' /etc/hosts 8: grep -v ^# /etc/hosts | awk '{print $2}' awk '$1 !~ "^#" {print $2}' /etc/hosts 9: $(hostname | tr '[a-z]' '[A-Z]')