Ejemplos de Programación en BASH

 

primer.sh
#!/bin/sh
#
for f in /etc/*
do
	if [ -d $f ]
	then
		echo $f
	fi
done
exit 0

 

segundo.sh

#!/bin/sh

mivar="Hola"

echo $mivar
echo "$mivar"
echo '$mivar'
echo \$mivar

echo Ingrese un texto
read mivar

echo '$mivar' equivale a $mivar
exit 0

 

tercero.sh

#!/bin/sh

echo "Este programa se llama $0"
echo "el 2do parametro es $2"
echo "el 1er parametro es $1"
echo "todos los parametros son = $*"

echo "el directorio del usuario es $HOME"
exit 0

 

cuarto.sh

#!/bin/sh

echo "Son menos de las 12:00 hrs? (si o no)"
read resp

if [ $resp = "si" ]
then
	echo "Buenos Dias..."
 elif [ $resp = "no" ]; then
	echo "Buenas Tardes..."
 else
	echo "No entiendo su respuesta!"
	exit 1
fi
exit 0

 

quinto.sh

#!/bin/sh
for lab in hola como estas 44
do
	echo la palabra clave es: $lab
done
exit 0

 

sexto.sh

#!/bin/sh
for file in $(ls *.sh); do
	wc -l $file
done
exit 0

 

septimo.sh

#!/bin/sh
aa=1
while [ "$aa" -le 20 ]
do
	echo "Hola version $aa"
	aa=$(($aa+1))
done
exit 0

 

octavo.sh

#!/bin/sh
#
# ejecutar como: $ . ./octavo.sh usuario
#

until who | grep "$1" > /dev/null
do
	sleep 60
done

echo -e \\a
echo "******** $1 se ha logeado *****"
exit 0

 

noveno.sh

#!/bin/sh

echo "Son menos de las 12am? (si/no)"
read dia

case "$dia" in
	si | s) echo "Buenos Dias...";;
	no | n | N*) echo "Buenas Tardes...";;
	*) echo "No entiendo su respuesta!";;
esac
exit 0

 

decimo.sh

#!/bin/sh
sino() { 
	echo "es este tu nombre $1 ?"
	while true
	do
		echo -n "Ingrese si/no: "
		read resp
		case "$resp" in
			s | si ) return 0;;
			n | no ) return 1;;
			*) echo "Responde si/no"
		esac
	done
}
echo "los argumentos son $*"
sino
if [ "$?" -eq "0" ]
	then
		echo "hola $1"
	else
	echo "me equivoque!"
fi
exit 0 

 

11.sh

#!/bin/sh
# javier.nunez:*:10010:500:javier,andres,nunez,garcia,21055-8,
#    15119206-8,11,casa central:/home/javier.nunez:/bin/bash


total=`grep :500: /etc/passwd| wc -l`
i=1


while read line
do
  unix=`echo $line| awk -F\: '{printf("%s\n",$1)}'`
  uid=`echo $line| awk -F\: '{printf("%s\n",$3)}'`
  gecos=`echo $line| awk -F\: '{printf("%s\n",$5)}'`
  name=`echo $gecos| awk -F\, '{printf("%s\n",$1)}'`
  echo mailx -s "Hola $name: Servidor en Mantención"  $unix >> tmp.1.useradd.sh
  echo "enviando email a usuario $uid ($i de $total)"
  i=$(($i+1))
done < /etc/passwd