قم ببناء برنامجك خطوة بخطوة باستخدام Shell Scripting - الجزء 5

في المنشورات السابقة لهذه الجولة تسمى «أنشئ برنامجك خطوة بخطوة باستخدام Shell Scripting» لقد تناولنا بالفعل كيفية تنفيذ الوحدات التالية:

برمجة شل

سنرى الآن في هذا المنشور الجديد كيفية تنفيذ:

وحدة تفويض المستخدم مع كلمة المرور

التي يجب أن تكون الوحدة (قسم) من برنامجك يسمح لك بالتأكد من أن المستخدم أو المستخدمين المحددين مسبقًا لاستخدامه فقط هم من يمكنهم تنفيذ العمليات المخصصة لبرنامجك. قد يتضمن أو لا يتضمن كلمة مرور للمستخدمين المصرح لهم. في هذه الحالة ، سوف نستكشف واحدًا مع التحقق من صحة اسم المستخدم وكلمة المرور.

أقوم شخصيًا بإضافة الأسطر التالية لإنشاء هذه الوحدة:

تحت الرمز:


###############################################################################
# INICIO DEL MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
###############################################################################

setterm -background blue

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA, ESCRIBA SALIR EN MAYUSCULA." | aplay -q

echo "ESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA ESCRIBA, SALIR EN MAYUSCULA." | clear

dialog --infobox "\n \n \nESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA, ESCRIBA SALIR EN MAYUSCULA." 10 80

################################################################################

USUARIO=0

until [ "$USUARIO" = "sysadmin" ];

do

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: INTRODUZCA UN NOMBRE DE USUARIO VALIDO." | aplay -q

read -p "INTRODUZCA UN NOMBRE DE USUARIO VALIDO / PLEASE ENTER A VALID USER: " USUARIO
echo ""

if [ "$USUARIO" = "SALIR" ]; then

   setterm -background green
   play /usr/share/sounds/warning.wav 2> /dev/null

   echo -e "\nUsted ha decidido salir del Programa, hasta luego.\nYou have decided to leave the program, later.\n\n\nPuede intentarlo mas tarde.\nYou can try later."

   exit 0

fi


if [ "$USUARIO" != "$USR1_VALID" ]; then

   setterm -background red
   play /usr/share/sounds/error.wav 2> /dev/null

   echo -e "\nError al introducir un Usuario valido.\nFailed to enter a valid user.\n\n\nVuelva a intentarlo de nuevo.\nPlease try again."

fi

done

if [ "$USUARIO" = "$USR1_VALID" ]; then

   setterm -background blue
   play /usr/share/sounds/info.wav 2> /dev/null

   echo -e "\nAuntenticación de Usuario valido exitosa.\nValid user authentication successful.\n\n\nEspere unos segundos para continuar.\nWait a few seconds before continuing"

   sleep 3

fi

################################################################################

CLAVE=0

until [ "$CLAVE" = "lpi*sb8" ];

do

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: INTRODUZCA UNA CONTRASEÑA VALIDA." | aplay -q

read -p "INTRODUZCA UNA CONTRASEÑA VALIDA / ENTER A VALID PASSWORD: " CLAVE
echo ""

if [ "$CLAVE" = "SALIR" ]; then

   setterm -background green
   play /usr/share/sounds/warning.wav 2> /dev/null

   echo -e "\nUsted ha decidido salir del Programa, hasta luego.\nYou have decided to leave the program, later.\n\n\nPuede intentarlo mas tarde.\nYou can try later."

   exit 0

fi


if [ "$CLAVE" != "$PASSWD_VALID" ]; then

   setterm -background red
   play /usr/share/sounds/error.wav 2> /dev/null

   echo -e "\nError al introducir una Contraseña valida.\nFailed to enter a valid password.\n\n\nVuelva a intentarlo de nuevo.\nPlease try again."

fi

done

################################################################################

if [ "$CLAVE" = "$PASSWD_VALID" ]; then

   setterm -background blue
   play /usr/share/sounds/info.wav 2> /dev/null

   echo -e "\nAuntenticación de Contraseña valida exitosa.\nValid password authentication successful.\n\n\nEspere unos segundos para continuar.\nWait a few seconds before continuing"

   sleep 3

fi

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA" | aplay -q

echo "ESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA." | sleep 5 | clear

dialog --infobox "\n \n \nESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA." 10 80 ; sleep 5

DIALOG=${DIALOG=dialog}

$DIALOG --title "LINUX POST INSTALL - SCRIPT BICENTENARIO" --clear \
        --yesno "\n \n \nBIENVENIDO USUARIO: $(whoami), PRESIONE "SI" PARA CONTINUAR O "NO" PARA FINALIZAR." 10 80

case $? in
  0)
    echo ""
    echo ""
    echo "Continuando el proceso..."
    echo ""
    echo "."
    sleep 1
    echo ".."
    sleep 1
    echo "..."
    sleep 1
    clear;;
  1)
    exit 0;;
  255)
    exit 0;;
esac

dialog --infobox "\n \n \n ESPERE UNOS SEGUNDOS MIENTRAS EL PROGRAMA SE INICIALIZA..." 10 80 ; sleep 3

###############################################################################
# FINAL DEL MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
###############################################################################

كما ترى ، تقوم هذه الوحدة أولاً بتهيئة ملف شاشة المحطة الطرفية على خلفية زرقاء إلى تقدير بصري أفضل للمستخدم، ثم ينبعث رسائل سمعية مع تحدث y بصري مع صدى y حوار. ثم من خلال حلقة باستخدام الأمر حتى يتحقق من صحة القيمة التي تم إدخالها لـ اسم المستخدم يمكن مقارنتها قيمة (قيم) المستخدم الصالحة تم تعريفه مسبقًا ، مما يمنح المستخدم إمكانية إغلاق البرنامج بشكل صحيح عن طريق كتابة الكلمة أخرج. إذا نجحت عملية التحقق من صحة المستخدم ، فتابع تنفيذ نفس الإجراء باستخدام كلمة المرور. لإنهاء النهاية في حالة النجاح ، يتم التحقق من صحة المستخدم وكلمة المرور بامتداد قائمة بسيطة صنع في حوار يسأل عما إذا كان المستخدم X يرغب في مواصلة عملية البرنامج أم لا. إذا كان الأمر كذلك ، فقم بإصدار ملف شريط تقدمي في انتظار القيام بالأمر حقيبة.

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

توصية:

جدولة أو فكر! ما هو اولا؟ س ما هو الأهم؟

بدون شك ، عندما نبدأ البرمجة ، فإن أول شيء يجب أن نتعلمه هو الخوارزميات أو المخططات الانسيابية كقواعد نظرية لتعلم المنطق والرياضيات لزيادة تفكيرنا المنطقي الرياضي ، ومع ذلك ، فإن هذه القاعدة كافية أو كافية لبدء البرمجة. أفهم أن تعلم البرمجة ، هذا لا يكفي ، إنه ضروري تعلم التفكير.

ما هي لغة البرمجة التي يجب أن أبدأ بها لكي أتمكن من تعلم البرنامج بسرعة؟

هذا بالتأكيد سؤال إلزامي نسأله لأنفسنا جميعًا عندما نبدأ في عالم البرمجة الرائع. لكن ليس هذا هو السؤال الصحيح الأول الذي يجب أن نسأله لأنفسنا ، ولكن:

هل لدي القدرة التحليلية اللازمة لتحليل مشكلة ، واستخراج عناصرها وعرض الاستجابة؟

وبالتأكيد فإن تعلم البرمجة بأي من اللغات الأكثر شيوعًا أو قوة له فوائد عديدة لا يمكن إنكارها. نظرًا لأنه يوفر لنا الأدوات اللازمة لتطوير تطبيقاتنا الخاصة ، فهو يساعدنا في تحديد المشكلات في الأجهزة التكنولوجية ، ويفتح لنا الأبواب في سوق العمل ، لكن البرمجة ليست سوى جزء صغير من علوم الكمبيوتر.

في حين برمجة أو كتابة كود يتكون من تعليم الكمبيوتر (من خلال تطبيق أو برنامج أو نظام) لأداء عملية معينة ، بعد أ الخيار العاشر يؤديها عامل أو أ الحدث X بواسطة أو داخل نفس الأجهزة أو البرامج التي تدعمها ؛ مبادئ علوم الحاسب (المعلوماتية / الأنظمة) يعلموننا مهارات التفكير والمنطق المفيدة في مجالات أخرى غير التكنولوجيا. علم الحاسوب ، في جوهره ، يعلم كيفية معالجة المعلومات وتمثيلها.

لذلك ، أنا أعتبر أن هذا هو أنسب طريقة تعلم البرمجة.

سأشرح ، على سبيل المثال ، هذا المنشور الآخر يسمى لا تتعلم البرمجة. تعلم أن تفكر » de يفغيني بريكمان، حيث يلخص هذا المهندس الفرق بين معرفة كيفية البرمجة ومعرفة كيفية التفكير كعالم كمبيوتر بهذا القياس:

مهما كانت التكنولوجيا موجودة في كل مكان ، فإن هذا لا يجعلنا نتعلمها عندما ندرسها في مركز تعليمي. على سبيل المثال ، يمكننا أن نأخذ أن أي شخص تقريبًا في مرحلة ما من حياته قد طار في طائرة ، ولكن من هناك للحصول على رخصة طيار ، هناك طريق طويل جدًا لنقطعه ، وهو بشكل عام ليس جزءًا من الدراسات الرسمية شخص ، ولكن دراسات خاصة للغاية في مجال معين.

أوضح بمزيد من التفصيل ، وهذا يعني أن المعرفة التي يمكن أن يحصل عليها أي شخص حول كيفية عمل الطائرات بشكل أساسي لدى الكثير منا من التعليم الثانوي والجامعي أو في أي مهنة تقنية (هندسة) ، مثل الفيزياء والرياضيات التي تساعدنا على فهم كيفية عمل القوات موجودة أثناء الطيران والعناصر الخارجية مثل الجاذبية والضغط الجوي والسرعة والاحتكاك أو الرفع. ومثلما يساعدنا علم الأحياء على فهم كيف يتصرف الإنسان عند ارتفاع X ، أو كيف يتأثر بنقص الأكسجين والبرد الشديد. أو القصة التي تسمح لنا بمعرفة العملية التي أدت إلى كيفية إنشاء الطائرات ، وما هو الدور الذي تلعبه في النقل والتجارة. كل هذه المعرفة المكتسبة معًا في مركز تعليمي ، من مختلف مجالات المعرفة ، تزودنا بفكرة عامة عن ماهية الطائرة وكيف تعمل. تساعدنا الموضوعات العامة في فهم مجموعة متنوعة من المشكلات ، بما في ذلك كيفية تحليق الطائرات. شيء مختلف تمامًا عن موضوع متخصص يعلمك فقط تشغيل واحدة من تلك الآلات ، نوع من الطائرات. لذلك ، وللسبب نفسه ، يجب أن نركز على دراسة علوم الكمبيوتر ، وليس البرمجة فقط. نظرًا لأن علوم الكمبيوتر تعلمنا عالميًا التفكير بالمعنى العام (النظامي) ، فإن البرمجة ليست سوى أداة تسمح لنا بترجمة فكرة أو مشكلة Y من خلال الرمز X ، الذي تم تحليله مسبقًا (بشكل صحيح أو غير صحيح).

هذا والعديد من وجهات النظر الأخرى ساهمت بها يفغيني بريكمان في رسالته عن ماذا جدول إنه جزء فقط من معرفة أوسع مضمنة في علوم الكمبيوتر، والتي تعتبر ضرورية لكل مبرمج.

أخيرًا ، تذكر أن تتقدم بطريقة علمية مع التعرف على أهم أوامر جنو / لينكس لمواصلة تطوير المعرفة التي سيستخدمونها لاحقًا ، وأن كل ما يتم تقديمه هنا حول تطوير البعض وحدة ، وظيفة ، متغير ، أمر أو إجراء بشكل عام يمكن تنفيذه بطرق مختلفة أو طرق بديلة ، تختلف عن تلك الموصوفة هنا.

استمرارية الأمم المتحدة Screencast من قبلي، حيث يمكنك أن ترى كيف يتم تنفيذ هذه الوحدة ، يتم تدريس الوحدات السابقة أو اللاحقة ، بحيث يمكنك رؤية إمكانات البرمجة النصية في شل على مستوى متوسط ​​(غير متقدم):

اختبار ScreenCast LPI-SB8

(تثبيت ما بعد لينكس - النص الذي تم تثبيته في الذكرى المئوية الثانية 8.0.0) - الجزء 2


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   آخر كان يمر قال

    أن أفهم إذا فهمت ذلك بشكل صحيح. تطلب من المستخدم إدخال اسم المستخدم الخاص به ... حسنًا. وبعد إدخال كلمة المرور الخاصة بك ... واتضح أن كلمة المرور هي "lpi * sb8" ... وأنها "مشفرة بشكل ثابت" في البرنامج النصي.

    إذا كان المستخدم لديه حق الوصول للقراءة إلى البرنامج النصي ...

    لا أعرف ما إذا كنت قد أخطأت في شيء ما ... ولكن إذا كان الأمر كذلك ، فهذا غير آمن للغاية ...

  2.   المهندس خوسيه ألبرت قال

    صحيح! لقد أعطيت طريقة الآن ، يجب على كل شخص لديه هذا الفضول الفطري الذي يميز الجنس البشري أن يسعى إلى الكمال أو تقويته في خطوط الأمان.