Construeix pas a pas el teu programa usant Shell Scripting - Part 3

En anteriors entrades d'aquesta sèrie de publicacions recordem sobre com implementar un:

Shell Scripting

I en altres anteriors, com implementar un Shebang i un BSM (Bash Strict Mode / Mode Bash Estricte).

Millors pràctiques per crear un Script de Shell a GNU / Linux - Part 1

Millors pràctiques per crear un Script de Shell a GNU / Linux - Part 2

A continuació un exemple d'un Mòdul de doble execució o execucions fallides, Prenent com a exemple un dels meus programes (aplicacions) fets en un Guió de Shell anomenat Linux Post Install - Script Bicentenari 8.0:

Aquest hauria de ser el mòdul (secció) que validi que efectivament l'script no s'esta executant actualment i per tant eviti que s'executi 2 cops, o, si no que l'anterior vegada que es va executar terme satisfactòriament. Jo personalment afegeixo les següents línies per crear aquest mòdul:


###############################################################################
# INICIO DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

if [[ -f  $UBICACION/$FILE_LOCK ]]; then

   setterm -background red
   echo "El Script no podrá ejecutarse!"
   echo "Debido a que el Archivo de Bloqueo de doble ejecución lo impide."
   sleep 5 ; exit 0

 else

  touch $UBICACION/$FILE_LOCK

fi

###############################################################################
# FINAL DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

===============

recomanació:

L'EDITOR VI

Intueixo que molts per facilitat d'ús, a l'hora de editar els teus script via terminal han de fer servir el editor nano el qual no només és molt senzill de manipular sinó que compta amb les opcions predeterminades més comuns per realitzar els processos d'edició necessaris en un arxiu de text pla, com ho són els Guió de Shell, Però, el meu millor recomanació en aquest cas és que vagin aprenent i facin servir el editor vaig veure, El qual no solament és molt més avançat, tot i que complet, sinó que un cop dominat els proporcionarà els mètodes necessaris per realitzar canvis o operacions sobre fitxers d'una manera més eficaç i eficient.

En altres paraules, Vaig veure o Vim és un editor d'arxius molt útil, Que proporciona una gran flexibilitat a l'hora d'editar scripts, modificar arxius de text, entre molts altres tipus d'arxius, però sobretot, a l'hora de programar. En el meu criteri, és un dels millors editors que existeix, però, com és usual els usuaris normalment de nano a l'començar a usar-lo i veure una metodologia diferent d'ús, li sol passar que radicalment que «O els encanta o l'odien de immediat ». Jo opino que val la pena aprendre ha fer-lo servir!

Certament, a primera entrada pot semblar un editor de text poc amistós i amb una corba d'aprenentatge molt difícil, Però que un cop superada, fent ús de les seves funcions bàsiques, la productivitat s'incrementa d'una manera molt notable.

També és cert que, el editor vaig veure té o funciona amb dreceres difícils i no té menús o botons. Tot es fa a través de ordres i dreceres que són seqüències de lletres i signes. I això resulta molt frustrant per a molts usuaris que obliden o no recorden amb facilitat, però, en espai en disc ocupa molt poc i es troba present en bàsicament gairebé tots els Linux o Unix disponible. I per ser un programa que s'executa en entorn de text és útil per a accessos remots i edició via terminal. Així doncs, aprofitarem aquesta curta entrada per donar-li un breu repàs a la seva ús bàsic des de zero, per perdre aquesta por i comprovar l'útil que és aprendre a usar-lo.

A l'invocar el editor vaig veure apareix a la pantalla el mode d'edició. En aquesta manera apareix la posició de l'cursor en forma ressaltada, i les línies en blanc assenyalades amb el caràcter ~ i en la part inferior de la pantalla apareix la línia d'estat, Que mostra el nom de l'arxiu i el nombre de caràcters que conté. Si s'invoca el editor vaig veure passant-li com a paràmetre la ruta i el nom d'un fitxer a l'indicador, apareixerà el seu contingut. Quan s'executa aquest editor amb el nom d'un fitxer que no existeix, el mateix es crea automàticament.

El editor vaig veure té dos modes d'operació:

  • El Mode Edició: Per afegir text a el fitxer.
  • El Mode Comando: Per introduir ordres que realitzen funcions específiques.

Quan es procedeix s'ha editar un fitxer de text amb el editor vaig veure, Els canvis no es fan directament sobre el mateix. Sinó que en realitat, s'apliquen a una còpia d'ell que el editor vaig veure crea en un espai de memòria temporal anomenat esmorteir. L'arxiu real es modifica només quan es graven els continguts de la memòria intermèdia. Això té els seus avantatges i desavantatges. D'una banda, vol dir que es pot sortir de l'edició d'un fitxer i descartar tots els canvis fets durant una sessió, deixant la còpia de disc intacta. D'altra banda, es podria perdre el contingut no gravat de la memòria intermèdia de treball si el sistema cau. El més aconsellable és gravar el treball freqüentment, especialment quan es fan canvis importants. Per gravar el fitxer que s'està editant sense sortir de l' editor vaig veure, N'hi ha prou prémer en mode comandament l'ordre :w

Per finalitzar l'execució de l' editor vaig veure es poden utilitzar diferents mètodes, sempre en mode ordres:

: Q ->   Tancar l'editor quan no s'han fet canvis a l'arxiu.
: Q! ->    Tancar l'editor descartant els canvis a l'arxiu.
: Wq ->   Tancar l'editor guardant els canvis a l'arxiu.

IMPORTANT: S'ha d'evitar editar un mateix fitxer amb diverses sessions de l' editor vaig veure obertes a el mateix temps, ja que no obria manera d'estar segur de quina és la còpia final que realment serà gravada en disc.

En la Manera Edició: Quan s'arrenca el editor vaig veure, Sempre s'inicia en el mode ordres, De manera que abans de poder afegir, modificar o eliminar text dins del arxiu s'ha de teclejar un dels comandaments d'entrada de l' editor vaig veure, Com ara "I" (insert), Per inserir text a la posició actual de l'cursor, o "A" (append) per a inserir text després de la posició actual de l'cursor. Per tornar a l' mode ordres, Només cal prémer la tecla "Esc". Si en un moment X no se sap en quina manera s'està, simplement prement la tecla "Esc" s'assegura un que està en mode ordres, I es podrà tornar s'ha continuar amb la feina.

En la Manera Comando: Quan s'obre un arxiu amb el editor vaig veure, Es s'obre immediatament al mode ordres. I en aquesta manera es poden executar accions (ordres) que duen a terme un ampli rang de funcions. Molts d'aquests ordres consten d'una o dues lletres i un nombre opcional relacionat amb diferents funcions. Molts ordres no requereixen prémer la tecla Tornar perquè s'executin, però totes les ordres que comencen per dos punts (:) requereixen prémer la tecla Tornar perquè s'executin.

PRINCIPALS COMANDOS DE L'EDITOR VI

Els principals ordres de l' editor vaig veure, Segons la seva utilitat durant l'edició d'un document són:

01.- Moure dins de l'arxiu
02.- Afegir text
03.- Modificar text
04.- Desfer modificacions
05.- Eliminar text
06.- Moure i / o copiar text
07.- Executar ordres en mode EX
08.- Recerca i reemplaçament
09.- Bolcat de contingut d'un arxiu en un altre
10.- Edició de simultània d'arxius

IMPORTANT: Les ordres de l' editor vaig veure poden anar precedits d'un comptador que indica quantes vegades s'ha de repetir l'operació. per exemple 3dd esborra 3 línies, 2 dw esborra 2 paraules, i 4x esborra 4 caràcters. També es poden fer servir comptadors per les ordres de moure per la pantalla, per exemple 3w o 2Ctrl-F prement un "." es repeteix l'última operació realitzada. Per exemple, si s'esborra una línia i la següent operació és esborrar una línia, només cal prémer ".".

NOTA: Molts dels comandaments de l' editor vaig veure són cas delicat, És a dir, la mateixa ordre teclejada en majúscules o minúscules pot tenir efectes totalment diferents.

En fi, per a més informació pot buscar a Internet (Google o Youtube) informació relativa a l'Editor vaig veure, la qual és àmplia i abundant en literatura i suport.

No obstant això, els deixo aquesta FULL DE TRUCS (CHEAT SHEET) que els serà molt útil per iniciar-se al editor vaig veure

seleccic3b3n_002

seleccic3b3n_001

Més endavant, en futures entrades continuarem veient exemple de mòduls (seccions) que realitzin funcions com ara:

  • MÒDUL D'OPTIMITZACIÓ
  • MÒDUL D'AUTORITZACIÓ D'USUARI AMB CONTRASENYA
  • MÒDUL DE DETECCIÓ D'ARQUITECTURA DEL SISTEMA OPERATIU
  • MÒDUL DE CONFIGURACIÓ DEL LLENGUATGE DE CODIFICACIÓ
  • MÒDUL DE CONFIGURACIÓ DE PROXY PER L'AMBIENT D'EXECUCIÓ

Entre molts d'altres!

I com sempre, els recomano anar aprenent de forma autodidacta sobre les ordres: gksu, dialog, gxmessage, zenity, espeak, play, Entre molts altres més per crear interfícies gràfiques per Terminal o per l'escriptori de l'Usuari, amb alertes sòniques o multimèdia, I anar avançant coneixements que faran servir més endavant.

Recordin que aquestes i qualsevol altres recomanacions sobre algun mòdul, funció, variable, comanda o acció en general pot dur a terme de moltes maneres, I ho aquí mostrat no és més que una senzilla manera, De les moltes maneres possibles i probables en la qual aquesta acció pot o podria ser duta a terme!

Només per a finalitzar els deixo, XNUMX Screencast realitzat per mi, Per demostrar-se que serien capaços vostès mateix, després de finalitzat aquest Curs online de Shell Scripting a DesdeLinux:

Screencast de Test de l'LPI-SB8

(LINUX POST INSTALL - SCRIPT BICENTENARI 8.0.0) - Part 2


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.