শেল স্ক্রিপ্টিং - পার্ট 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

এই মডিউলটির কার্যকারিতাটি সেই প্রোগ্রামটিকে নির্দেশ করে যে ইন্টারনেট সংযোগের প্রয়োজন এমন কাজগুলি সম্পাদনের জন্য কনসোলটির একটি প্রক্সি প্রয়োজন। আপনি যদি কিছু ইঙ্গিত দেয় না (মূল প্রবেশ করান কোনও আইপি না রেখে) প্রোগ্রামটি ধরে নিবে কোন প্রক্সি প্রয়োজন, অন্যথায় আপনাকে অবশ্যই একটি সূচিত করতে হবে আইপি: পোর্ট, এটি একটি অস্থায়ী আউটবাউন্ড প্রক্সি কনফিগার করতে এবং সংযোগ স্থাপন করতে।

নির্বাচন_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
             

এই মডিউলটির কাজটি একটি দেখানো স্বাগতম ব্যানার বর্ণানুক্রমিক এবং অ-অক্ষরীয় অক্ষরগুলির সাথে ম্যানুয়ালি ডিজাইন করা ব্যবহারকারীর কাছে। তারপরে একটি টার্মিনাল প্রতি তথ্যমূলক বার্তা উইন্ডো কথোপকথন এবং পরিশেষে পরবর্তী মডিউলটির পরবর্তী ধাপটি নিয়ন্ত্রণের জন্য একটি অগ্রগতি বার।

নির্বাচন_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

এই মডিউলটির কাজ হ'ল মেনু-টাইপ উইন্ডো তৈরি করা যা কীবোর্ড এবং মাউস উভয়ের ব্যবহারের সাহায্যে একটি বিকল্প চয়ন করতে পারে। প্রতিটি বিকল্প পারে কমান্ড কমান্ড, একটি মডিউল, একটি ফাংশন বা অন্য স্ক্রিপ্ট কার্যকর করুন ute। এই বিশেষ ক্ষেত্রে, এটি অভ্যস্ত ছিল একটি ভেরিয়েবলের মধ্যে একটি মান সংরক্ষণ করুন যা তখন অনুমতি দেবে এর বিষয়বস্তু অনুসারে অর্ডার স্থির করুন।

নির্বাচন_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
       

এই মডিউলটির কাজটি একটি ভেরিয়েবলের মধ্যে পূর্বে সঞ্চিত মানের উপর ভিত্তি করে একটি পূর্বনির্ধারিত বিকল্প কার্যকর করা ute এই ক্ষেত্রে, সেই পরিবর্তনশীল কেবল ক্রিয়াকলাপ চালিয়ে যাওয়ার মধ্যে একটি নির্বাচনকে ট্রিগার করবে কমান্ড এবং ডায়লগ সহ গ্রাফিকাল ইন্টারফেস সহ কনসোল মাধ্যমে ó জেনটি এবং জিএক্সমিসেজ সহ ডেস্কটপ পরিবেশের জন্য গ্রাফিকাল ইন্টারফেসের মাধ্যমে।

নির্বাচন_008

নির্বাচন_009

নির্বাচন_010

নির্বাচন_010

নির্বাচন_011

দারুণ মডেল


# 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               

এই মডিউলটির কাজটি হল বিদায়ী কনসোল দ্বারা একটি বার্তা প্রদর্শন করা এবং এর সফল সম্পাদনের ফাইলটি মোছা।

নীচে ক স্কীনকাস্ট যেখানে এটি দেখানো হয় যে এই মডিউলগুলি এবং পূর্ববর্তীগুলি কীভাবে কার্যকর করা হয় যাতে তারা আগের 8 টি পাঠের কাজের সময় প্রদর্শিত সমস্ত মডিউলগুলি কীভাবে পরীক্ষা করতে পারে এবং বিদ্যুতের শক্তি প্রমাণীকরণ করতে পারে শেল স্ক্রিপ্টিং একটি উচ্চ স্তর আছে:

স্ক্রিপ্ট টেস্ট ভিডিও

এবং কেন আমাদের স্ক্রিপ্টে কনসোল ব্যবহারকারী ইন্টারফেস বা গ্রাফিক্যাল পরিবেশ ব্যবহার করা উচিত?

আমাদের অবশ্যই এটি মনে রাখতে হবে গ্রাফিকাল ইউজার ইন্টারফেস, এই নামেও পরিচিত জিইউআই (গ্রাফিকাল ইউজার ইন্টারফেস) তারা হয় মাঝারিটি চিত্র এবং গ্রাফিক বস্তুর একটি সেট ব্যবহার করে, নিম্ন ইন্টারফেসে উপলভ্য তথ্য এবং ক্রিয়াগুলি উপস্থাপন করতে ব্যবহৃত হয়। এটির প্রধান ব্যবহার রয়েছে কোনও মেশিন বা কম্পিউটারের অপারেটিং সিস্টেমের সাথে যোগাযোগের অনুমতি দেওয়ার জন্য একটি সাধারণ ভিজ্যুয়াল পরিবেশ সরবরাহ করুন।

আমরা সাধারণত সরঞ্জামের সাথে সরাসরি আলাপচারিতার মাধ্যমে ক্রিয়াকলাপগুলি পরিচালনা করি, অর্থাৎ কমান্ডগুলি টাইপ করে বা কীবোর্ডের মাধ্যমে একটি স্ক্রিপ্ট সম্পাদন করে। এবং জিইউআই প্রথম অপারেটিং সিস্টেমের কমান্ড লাইনের বিবর্তন হিসাবে উপস্থিত হয় এবং গ্রাফিক পরিবেশে মৌলিক অংশ হয়ে উঠছে।

এবং একটি প্রসঙ্গে মানব-কম্পিউটার ইন্টারঅ্যাকশন প্রক্রিয়া, জিইউআই হ'ল ইন্টারেক্টিভ প্রযুক্তিগত মাধ্যম যা ভিজ্যুয়াল ভাষার ব্যবহার এবং গ্রাফিক প্রাসঙ্গিককরণের মাধ্যমে, কম্পিউটার সিস্টেমের সাথে বন্ধুত্বপূর্ণ মিথস্ক্রিয়ার মাধ্যমে আমাদেরকে অনুমতি দেয়।

গ্রাফিকাল ইন্টারফেস ব্যবহার করে আমাদের সুবিধা এবং অসুবিধাগুলি সরবরাহ করে যেমন:

সুবিধার মধ্যে রয়েছে: পদ্ধতি পরিচালনা করার সুবিধার্থে, কোনও চিত্র বা বস্তুর মাধ্যমে পর্দায় প্রতিটি কমান্ড প্রদর্শন করুন, ব্যবহারকারীর জন্য উইন্ডোজ এবং ডায়ালগ বাক্সের মতো মানকযুক্ত নিয়ন্ত্রণ ব্যবস্থা সরবরাহ করুন, ব্যবহারকারীকে সহজ পদ্ধতিতে সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দিন।

অসুবিধাগুলির মধ্যে: এটি আরও বেশি অপারেটিং সিস্টেমের রিসোর্স, জটিলতা, বিকাশের সময় এবং এই জাতীয় বিকাশ করার ব্যয় ব্যবহার করে।

টার্মিনাল বা ডেস্কটপে নতুন এবং আরও সুন্দর ইন্টারফেস কীভাবে তৈরি করতে হয় সে সম্পর্কে আপনি যদি আরও জানতে চান তবে আমি আপনাকে এমন কয়েকটি কমান্ড সম্পর্কে শিখার পরামর্শ দিচ্ছি যা বাশ স্ক্রিপ্টগুলির সাথে ক্রিয়াযোগ্য তথ্য গ্রহণ বা দেওয়ার ক্ষমতা সহ ডায়ালগ উইন্ডো তৈরি করতে ব্যবহৃত হয়, যেমন:

সংলাপ: মধ্যে ডায়ালগ ম্যানুয়াল আমাদের আপনার বিভিন্ন বিকল্প দেয়।

জিএক্সবার্তা: মধ্যে Gxmessage ম্যানুয়াল আমাদের আপনার বিভিন্ন বিকল্প দেয়।

জেনটিটি: মধ্যে জেনिटी ম্যানুয়াল আমাদের আপনার বিভিন্ন বিকল্প দেয়।

এবং আপনি যদি আপনার স্ক্রিপ্ট (প্রোগ্রামগুলি) এর সাথে আরও একটি বিশেষ এবং ইন্টারেক্টিভ স্পর্শ দিতে চান বাশ শেল বা অন্য খোল আমি এই অন্যান্য প্রোগ্রামগুলির পরামর্শ দিচ্ছি যা ভালভাবে ব্যবহৃত হয়েছে, শেল স্ক্রিপ্টিং ইস্যুতে খুব দক্ষ না হয়ে সত্যিকারের বিস্ময় তৈরি করতে আপনাকে সহায়তা করতে পারে। এই প্রোগ্রামগুলির মধ্যে আমাদের রয়েছে:

  • অবহিত করুন: ইভেন্টগুলির জন্য বিজ্ঞপ্তিগুলি দেওয়ার জন্য খুব দরকারী কমান্ড যেমন কোনও ইমেল আসার সময় বিজ্ঞপ্তি দেওয়া, একটি পরিচিতি অনলাইনে রাখা হয় এবং বিভিন্ন কাজের অনুস্মারক তৈরি করে। 
  • রাখা: কমান্ড যা স্ক্রিনে কার্সারটি অবস্থানের জন্য, পর্দা থেকে ডেটা মুছে ফেলার জন্য, স্ক্রিনে রেখা এবং কলামগুলির সংখ্যা জানতে, একটি ক্ষেত্র সঠিকভাবে অবস্থান নির্ধারণ করতে, যার ক্ষেত্রটি ইনপুটটিকে ত্রুটি হিসাবে সনাক্ত করা হয়েছিল সেটি মুছে ফেলার জন্য ব্যবহার করা হয়। যাইহোক, পর্দার প্রায় সমস্ত প্যারামিটারাইজেশন এই আদেশ দ্বারা সম্পন্ন হয়। 
  • সেটেল্ডস: যে কমান্ডটি প্রতিটি কনসোল এবং ডেস্কটপের জন্য পৃথকভাবে ছোট / ছোট হাতের অক্ষর, সংখ্যাযুক্ত কীবোর্ড এবং স্ক্রোলিং কীবোর্ডের অ্যাক্টিভেশন এবং নিষ্ক্রিয় কীগুলি নিয়ন্ত্রণ করতে দেয়।

আচ্ছা, এখন পর্যন্ত এই সিরিজ!


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।