|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash max=20 n_2=1 n_1=1 echo 1 - ${n_2} echo 2 - ${n_1} i=3 while [ ${i} -le ${max} ]; do n=$((${n_2} + ${n_1})) n_2=${n_1} n_1=${n} echo ${i} - ${n} i=$((${i}+1)) done |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash max=20 n_2=1 n_1=1 echo 1 - ${n_2} echo 2 - ${n_1} i=3 while [ ${i} -le ${max} ]; do n=$((${n_2} + ${n_1})) n_2=${n_1} n_1=${n} echo ${i} - ${n} i=$((${i}+1)) done |
En algún momento nos podría ser de utilidad ir guardando versiones de un archivo en particular, para eset caso guarda hasta un máximo de 9 versiones, una vez que lo supera lo informa.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/bin/bash archivo=valores.txt if [ ! -f “$archivo” ] then echo $archivo no existe else A=$(ls $archivo* | wc -w) if [ $A -ge 9 ] then echo Se ha superado el número máximo de versiones else Num=`expr $A + 1` Version=$archivo.$Num cp $archivo $Version fi fi |
Para ejecutar un Script BATCH en forma oculta, se debe crear el siguiente archivo con extensión «.vbs» (Visual Basic), donde dice «archivo.cmd» se debe poner la ruta y el nombre del archivo BATCH a ejecutar. Al lanzarlo de este modo se evita la ventana DOS del cmd, al ejecutar el script.
|
1 2 |
set objshell = createobject("wscript.shell") objshell.run "archivo.cmd",vbhide |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash while true; do echo read -p "Confirma ejecucion [Si - No] " sn case $sn in Si|SI|sI|si ) break;; No|NO|nO|no ) exit;; * ) echo "por favor responda si o no";; esac done echo "Aceptado - Se ejecuta el SCRIPT..." |
Esto es útil cuando requiere que el script no se ejecute más de 1 vez. Una vez ejecutado el script, verifica que el archivo «bloqueo.txt» no exista, de ser asi lo crea y se ejecutan todas las labores que deba realizar el script, una vez finalizado este archivo de bloqueo es eliminado. Si mientras esta en ejecución es lanzado nuevamente, el script verifica que el archivo de bloqueo existe y por lo tanto finaliza su ejecución. También si el script que se esta ejecutando finaliza en forma inesperada (CTRL-C, etc..), el archivo de bloqueo es eliminado.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash bloqueo=/usr01/trabajo/bloqueo.txt if ( set -o noclobber; echo "$$" > "$bloqueo") 2> /dev/null; then trap 'rm -f "$bloqueo"; exit $?' INT TERM EXIT touch $bloqueo echo "Realizo todas las tareas del Script" trap - INT TERM EXIT else echo "Ya hay otro proceso de este script ejecutandose" echo "corriendo con el PID: $(cat $bloqueo)" fi |