షెల్ స్క్రిప్టింగ్ - పార్ట్ 8 ఉపయోగించి దశలవారీగా మీ ప్రోగ్రామ్‌ను రూపొందించండి

మరొక సారి స్వాగత ఈ క్రొత్తదానికి పాఠం (# 8) యొక్క కోర్సు (ట్యుటోరియల్) షెల్ స్క్రిప్టింగ్ ”. పై వాటిలో 7 పాఠాలు నిర్దిష్ట కార్యాచరణలతో సంకేతాల యొక్క కొన్ని మాడ్యూళ్ళను (విభాగాలను) ఎలా సృష్టించాలో మేము తయారు చేయగలిగాము మరియు / లేదా నేర్చుకోగలిగాము  బాష్ షెల్ ఉపయోగించి షెల్ స్క్రిప్టింగ్ పనితీరు వ్యాఖ్యాతగా. ఇప్పటివరకు ఈ గుణకాలు:

షెల్ స్క్రిప్టింగ్వెళ్ళడానికి మునుపటి పోస్ట్ (పాఠం 7) కింది లింక్‌ను నొక్కండి:

ఈ లో ఎనిమిదవ (8) మరోవైపు, మేము అనేక మాడ్యూళ్ళ నిర్మాణంపై దృష్టి పెడతాము, ఇవి క్రిందివి:

ప్రాక్సీ కాన్ఫిగరేషన్ మాడ్యూల్:


# MODULO DE CONFIGURACIÓN DE PROXY


read -p "En caso de requerir configurar un Proxy en su Terminal, introduzca la dirección_ip:puerto necesaria, en caso contrario solo presione la tecla ENTER: " IP_PTO_PROXY

# Nota: Indicar dirección_ip: puerto solo en caso de ser necesario activar debido
# a proxy interno no transparente para la terminal dentro de la red de trabajo
# donde se ejecute.

echo -e '\a'
export http_proxy=$IP_PTO_PROXY
#export no_proxy="127.0.0.1, localhost, 192.168.0.0/22, mi_institucion.gob.ve:8080"

sleep 3
clear

read -p "SI DESEA CANCELAR PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: "s" "S" "y" "Y". DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA! : " op

if [[ $op == "y" || $op == "Y" || $op == "s" || $op == "S" ]];

 then

   sleep 3 ; clear ; exit 0

 else

   sleep 3 ; clear ; read -p "EL PROGRAMA CONTINUARA, OPRIMA CUALQUIER TECLA PARA CONTINUAR..." && sleep 3 ; clear

fi

ఈ మాడ్యూల్ యొక్క పని ఏమిటంటే, ఇంటర్నెట్ కనెక్టివిటీ అవసరమయ్యే పనులను నిర్వహించడానికి కన్సోల్‌కు ప్రాక్సీ అవసరమని ప్రోగ్రామ్‌కు సూచించడం. ఒకవేళ నువ్వు దేనినీ సూచించదు (కీ ఎంటర్ ఏ ఐపి పెట్టకుండా) ప్రోగ్రామ్ దానిని ume హిస్తుంది ప్రాక్సీ అవసరం లేదు, లేకపోతే మీరు తప్పక సూచించాలి IP: PORT, ఇది తాత్కాలిక అవుట్‌బౌండ్ ప్రాక్సీని కాన్ఫిగర్ చేయడానికి మరియు కనెక్టివిటీని నిర్వహించడానికి.

ఎంపిక_001స్వాగత మాడ్యూల్


# MODULO DE BIENVENIDA               

play /usr/share/sounds/startup3.wav 2> /dev/null

echo " BIENVENIDOS AL PROGRAMA "
sleep 3
clear

dialog --infobox "\n \n \nGRACIAS POR USAR ESTE SCRIPT..." 10 80 ; sleep 3

DIALOG=${DIALOG=dialog}

COUNT=10
(
while test $COUNT != 110
do
echo $COUNT
echo "XXX"
echo "ESTIMADO USUARIO, BIENVENIDO AL SCRIPT..."
echo "GRACIAS POR UTILIZARME..."
echo "ESPERE UNOS SEGUNDOS MIENTRAS ME INICIALIZO... ($COUNT %)"
echo "XXX"
COUNT=`expr $COUNT + 10`
sleep 1
done
) |
$DIALOG --title "LPI - SB" --gauge "INICIALIZANDO EL SCRIPT" 10 80 0

clear

echo " SCRIPT DE TRABAJO EN EJECUCIÓN "
echo ""
sleep 3
clear
             

ఈ మాడ్యూల్ యొక్క పని a స్వాగత బ్యానర్ ఆల్ఫాన్యూమరిక్ మరియు ఆల్ఫాన్యూమరిక్ అక్షరాలతో మానవీయంగా రూపొందించిన వినియోగదారుకు. అప్పుడు టెర్మినల్‌కు సమాచార సందేశ విండో డైలాగ్ చివరకు తదుపరి మాడ్యూల్‌కు తదుపరి దశను నియంత్రించడానికి ప్రోగ్రెస్ బార్.

ఎంపిక_002ఎంపిక_003ఎంపిక_004వినియోగదారు ఇంటర్‌ఫేస్ ఎంపిక మాడ్యూల్


# MODULO DE SELECCIÓN DE INTERFACE DE USUARIO 

DIALOG_CANCEL=1
DIALOG_ESC=255
HEIGHT=0
WIDTH=0

display_result() {
  dialog --title "$1" \
    --no-collapse \
    --msgbox "$result" 0 0
}

while true; do
  exec 3>&1
  selection=$(dialog \
    --backtitle "Script en ejecución" \
    --title "Menu" \
    --clear \
    --cancel-label "Exit" \
    --menu "Seleccione una (1) opción, por favor:" $HEIGHT $WIDTH 4 \
    "1" "Usar interfaz de usuario (GUI) por Terminal" \
    "2" "Usar interfaz de usuario (GUI) por Escritorio" \
    "3" "Cerrar la sesión del Script" \
    2>&1 1>&3)
  exit_status=$?
  exec 3>&-
  case $exit_status in
    $DIALOG_CANCEL)
      clear
      echo "Sesión del Script cancelada."
      exit
      ;;
    $DIALOG_ESC)
      clear
      echo "Sesión del Script abortada." >&2
      exit 1
      ;;
  esac
  case $selection in
    0 )
      clear
      echo "Programa Terminado."
      ;;
    1 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por Terminal"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=T ; break
      
      ;;
    2 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por escritorio"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=E ; break
      ;;
    3 )
      result=$(echo "Usuario $USERNAME, el SCRIPT ha seleccionado la interfaz de usuario (GUI) por Terminal por defecto"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de trabajo"
      USER_INTERFACE=T ; break
      ;;
  esac
done

ఈ మాడ్యూల్ యొక్క పని కీబోర్డ్ మరియు మౌస్ రెండింటిని ఉపయోగించి ఒక ఎంపికను ఎంచుకోవడానికి అనుమతించే మెను-రకం విండోను సృష్టించడం. ప్రతి ఎంపిక చేయవచ్చు కమాండ్ కమాండ్, మాడ్యూల్, ఫంక్షన్ లేదా మరొక స్క్రిప్ట్‌ను అమలు చేయండి. ఈ ప్రత్యేక సందర్భంలో, ఇది ఉపయోగించబడింది విలువను వేరియబుల్‌లో నిల్వ చేయండి ఇది అనుమతిస్తుంది దాని కంటెంట్ ప్రకారం ఆర్డర్‌ను నిర్ణయించండి.

ఎంపిక_005ఎంపిక_006ఎంపిక_007అదనపు మాడ్యూళ్ల ఎంపిక మరియు అమలు కోసం మాడ్యూల్


# MODULO DE SELECCIÓN Y EJECUCIÓN DE MÓDULOS ADICIONALES               


if [[ "$USER_INTERFACE" == "T" ]]; then

    bash $UBICACION/lpi_sb8_gui_terminal.sh 
    sleep 3

  else

    bash $UBICACION/lpi_sb8_acond_audiovisual_g_2016.sh

    bash $UBICACION/lpi_sb8_act_mtto_g_2016.sh

fi
       

ఈ మాడ్యూల్ యొక్క విధి గతంలో వేరియబుల్‌లో నిల్వ చేసిన విలువ ఆధారంగా ముందే నిర్వచించిన ఎంపికను అమలు చేయడం. ఈ సందర్భంలో, ఆ వేరియబుల్ కార్యకలాపాలను కొనసాగించడం మధ్య ఎంపికను ప్రేరేపిస్తుంది ఆదేశాలతో కన్సోల్ ద్వారా మరియు డైలాగ్‌తో గ్రాఫికల్ ఇంటర్‌ఫేస్‌ల ద్వారా ó డెస్క్‌టాప్ ఎన్విరాన్‌మెంట్ కోసం జెనిటీ మరియు జిఎక్స్మెసేజ్‌తో గ్రాఫికల్ ఇంటర్‌ఫేస్‌ల ద్వారా.

ఎంపిక_008ఎంపిక_009ఎంపిక_010ఎంపిక_010ఎంపిక_011FAREWELL మాడ్యూల్


# MODULO DE DESPEDIDA               

# Sección que muestra un mensaje de despedida al usuario

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#   ESPERE UNOS SEGUNDOS MIENTRAS SE CIERRAN TODOS LOS   #'
echo '#               PROCESOS ABIERTOS DEL SCRIPT             #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 5
clear

# Sección que instala los paquetes bases del Script

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#           MUCHAS GRACIAS POR USAR EL SCRIPT            #'
echo '#                                                        #'
echo '#  EL PROGRAMA HA CULMINADO Y SE CERRARÁ INMEDIATAMENTE  #'
echo '#                    ESTIMADO USUARIO                    #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 3
clear

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=MUCHAS%20GRACIAS%20POR%20USAR%20EL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO%2C%20EL%20PROGRAMA%20HA%20FINALIZADO%20Y%20SE%20CERRAR%C3%81%20INMEDIATAMENTE%2C%20ESTIMADO%20USUARIO.&tl=es&total=1&idx=0&textlen=141&tk=899229.758054&client=t&prev=input" ; play -q /tmp/audio.mp3

play /usr/share/sounds/shutdown1.wav 2> /dev/null

rm -f $UBICACION/$FILE_LOCK

setterm --initialize

# MODULO DE DESPEDIDA               

ఈ మాడ్యూల్ యొక్క పని వీడ్కోలు కన్సోల్ ద్వారా సందేశాన్ని చూపించడం మరియు విజయవంతమైన అమలు ఫైల్‌ను తొలగించడం.

క్రింద a స్క్రీన్కాస్ట్ మునుపటి 8 పాఠాల సమయంలో చూపిన అన్ని మాడ్యూల్స్ ఎలా పని చేస్తాయో తనిఖీ చేయడానికి మరియు ఈ శక్తిని ధృవీకరించే విధంగా ఈ గుణకాలు మరియు మునుపటి వాటిని ఎలా అమలు చేస్తారో చూపబడుతుంది. షెల్ స్క్రిప్టింగ్ ఉన్నత స్థాయిని కలిగి ఉంది:

స్క్రిప్ట్ టెస్ట్ వీడియో

మరియు మన స్క్రిప్ట్‌కు కన్సోల్ యూజర్ ఇంటర్‌ఫేస్‌లు లేదా గ్రాఫికల్ ఎన్విరాన్‌మెంట్‌ను ఎందుకు ఉపయోగించాలి?

మేము దానిని గుర్తుంచుకోవాలి గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్లు, ఇలా కూడా అనవచ్చు GUI (గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్) వారు చిత్రాలు మరియు గ్రాఫిక్ వస్తువుల సమితిని ఉపయోగించి దిగువ ఇంటర్‌ఫేస్‌లో లభించే సమాచారం మరియు చర్యలను సూచించడానికి ఉపయోగించే మాధ్యమం. దీని ప్రధాన ఉపయోగం ఉంటుంది యంత్రం లేదా కంప్యూటర్ యొక్క ఆపరేటింగ్ సిస్టమ్‌తో కమ్యూనికేషన్‌ను అనుమతించడానికి సరళమైన దృశ్య వాతావరణాన్ని అందించండి.

సాధారణంగా మేము పరికరాలతో ప్రత్యక్ష పరస్పర చర్య ద్వారా చర్యలను నిర్వహిస్తాము, అనగా, ఆదేశాలను టైప్ చేయడం ద్వారా లేదా కీబోర్డ్‌తో స్క్రిప్ట్‌ను అమలు చేయడం ద్వారా. మరియు GUI లు మొదటి ఆపరేటింగ్ సిస్టమ్స్ యొక్క కమాండ్ లైన్ యొక్క పరిణామంగా ఉద్భవించాయి మరియు గ్రాఫిక్ వాతావరణంలో ప్రాథమిక భాగం అవుతుంది.

మరియు ఒక సందర్భంలో మానవ-కంప్యూటర్ సంకర్షణ ప్రక్రియ, GUI అనేది ఇంటరాక్టివ్ టెక్నికల్ మాధ్యమం, ఇది దృశ్య భాష యొక్క ఉపయోగం మరియు గ్రాఫిక్ సందర్భోచితీకరణ ద్వారా, కంప్యూటర్ సిస్టమ్‌తో స్నేహపూర్వక పరస్పర చర్య.

గ్రాఫికల్ ఇంటర్‌ఫేస్‌లను ఉపయోగించడం వల్ల మాకు ప్రయోజనాలు మరియు అప్రయోజనాలు ఉన్నాయి:

ప్రయోజనాలలో: విధానాల నిర్వహణను సులభతరం చేయండి, ప్రతి ఆదేశాన్ని ఒక చిత్రం లేదా వస్తువు ద్వారా తెరపై ప్రదర్శించండి, విండోస్ మరియు డైలాగ్ బాక్స్‌ల వంటి ప్రామాణిక నియంత్రణ విధానాలను వినియోగదారుకు అందించండి, వినియోగదారుతో సిస్టమ్‌తో సులభంగా వ్యవహరించడానికి అనుమతించండి.

ప్రతికూలతలలో: ఇది మరింత ఆపరేటింగ్ సిస్టమ్ వనరులు, సంక్లిష్టత, అభివృద్ధి సమయం మరియు అటువంటి అభివృద్ధి చేయడానికి అయ్యే ఖర్చులను ఉపయోగిస్తుంది.

టెర్మినల్‌లో లేదా డెస్క్‌టాప్‌లో క్రొత్త మరియు మరింత అందమైన ఇంటర్‌ఫేస్‌లను ఎలా తయారు చేయాలో మీరు మరింత తెలుసుకోవాలనుకుంటే, బాష్ స్క్రిప్ట్‌లతో క్రియాశీల సమాచారాన్ని స్వీకరించే లేదా ఇవ్వగల సామర్థ్యంతో డైలాగ్ విండోలను రూపొందించడానికి ఉపయోగించే కొన్ని ఆదేశాల గురించి తెలుసుకోవాలని నేను మీకు సిఫార్సు చేస్తున్నాను.

డైలాగ్: లో డైలాగ్ మాన్యువల్ మీకు ఉన్న విభిన్న ఎంపికలను మాకు ఇస్తుంది.

Gxmessage: లో Gxmessage మాన్యువల్ మీకు ఉన్న విభిన్న ఎంపికలను మాకు ఇస్తుంది.

సున్నితత్వం: లో జెనిటీ మాన్యువల్ మీకు ఉన్న విభిన్న ఎంపికలను మాకు ఇస్తుంది.

మరియు మీరు మీ స్క్రిప్ట్ (ప్రోగ్రామ్‌లు) తో మరింత ప్రత్యేకమైన మరియు ఇంటరాక్టివ్ టచ్ ఇవ్వాలనుకుంటే బాష్ షెల్ లేదా ఇతర షెల్ ఈ ఇతర ప్రోగ్రామ్‌లను నేను సిఫార్సు చేస్తున్నాను, బాగా ఉపయోగించినప్పుడు, షెల్ స్క్రిప్టింగ్ సమస్యలలో చాలా నైపుణ్యం లేకుండా నిజమైన అద్భుతాలను సృష్టించడానికి మీకు సహాయపడుతుంది. ఈ కార్యక్రమాలలో మనకు:

  • తెలియజేయండి-పంపండి: ఇమెయిల్ వచ్చినప్పుడు తెలియజేయడం, ఒక పరిచయం ఆన్‌లైన్‌లో ఉంచడం మరియు వివిధ పనుల రిమైండర్‌లు వంటి సంఘటనల కోసం నోటిఫికేషన్‌లు చేయడానికి చాలా ఉపయోగకరమైన ఆదేశం. 
  • tput: కర్సర్‌ను స్క్రీన్‌పై ఉంచడానికి, స్క్రీన్ నుండి డేటాను చెరిపేయడానికి, స్క్రీన్‌పై పంక్తులు మరియు నిలువు వరుసల సంఖ్యను తెలుసుకోవడానికి, ఫీల్డ్‌ను సరిగ్గా ఉంచడానికి, ఇన్‌పుట్ లోపంగా గుర్తించబడిన ఫీల్డ్‌ను చెరిపేయడానికి అనేక విషయాలలో ఉపయోగించబడే ఆదేశం. ఏదేమైనా, స్క్రీన్ యొక్క దాదాపు అన్ని పారామీటరైజేషన్ ఈ ఆదేశం ద్వారా జరుగుతుంది. 
  • స్థిరపడినవి: ప్రతి కన్సోల్ మరియు డెస్క్‌టాప్ కోసం పెద్ద అక్షరాలు / చిన్న అక్షరాలు, సంఖ్యా కీబోర్డ్ మరియు స్క్రోలింగ్ కీబోర్డ్ యొక్క క్రియాశీలత మరియు నిష్క్రియం చేసే కీలను నియంత్రించడానికి అనుమతించే ఆదేశం.

బాగా, ఇప్పటివరకు ఈ సిరీస్!


వ్యాసం యొక్క కంటెంట్ మా సూత్రాలకు కట్టుబడి ఉంటుంది సంపాదకీయ నీతి. లోపం నివేదించడానికి క్లిక్ చేయండి ఇక్కడ.

వ్యాఖ్యానించిన మొదటి వ్యక్తి అవ్వండి

మీ వ్యాఖ్యను ఇవ్వండి

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు. లు గుర్తించబడతాయి గుర్తించబడతాయి *

*

*

  1. డేటాకు బాధ్యత: మిగ్యుల్ ఏంజెల్ గాటన్
  2. డేటా యొక్క ఉద్దేశ్యం: కంట్రోల్ స్పామ్, వ్యాఖ్య నిర్వహణ.
  3. చట్టబద్ధత: మీ సమ్మతి
  4. డేటా యొక్క కమ్యూనికేషన్: డేటా చట్టపరమైన బాధ్యత ద్వారా తప్ప మూడవ పార్టీలకు తెలియజేయబడదు.
  5. డేటా నిల్వ: ఆక్సెంటస్ నెట్‌వర్క్స్ (EU) హోస్ట్ చేసిన డేటాబేస్
  6. హక్కులు: ఎప్పుడైనా మీరు మీ సమాచారాన్ని పరిమితం చేయవచ్చు, తిరిగి పొందవచ్చు మరియు తొలగించవచ్చు.