शेल स्क्रिप्टिंग - भाग 5 का उपयोग करके अपने प्रोग्राम को चरण दर चरण बनाएं

इस दौर के पिछले प्रकाशनों में «शैल स्क्रिप्टिंग» का उपयोग करके अपने प्रोग्राम को चरण दर चरण बनाएं » हमने पहले ही निम्नलिखित मॉड्यूल को लागू करने का तरीका कवर किया है:

शैल स्क्रिप्टिंग

अब इस नए प्रकाशन में हम देखेंगे:

पासवर्ड के साथ उपयोगकर्ता स्वचालन मोड का उपयोग करें

जो आपके प्रोग्राम का मॉड्यूल (खंड) होना चाहिए यह आपको यह सुनिश्चित करने की अनुमति देता है कि केवल उपयोगकर्ता या उपयोगकर्ता जो पहले इसका उपयोग करने के लिए परिभाषित किए गए हैं, वे आपके प्रोग्राम के लिए नामित कार्यों को निष्पादित कर सकते हैं। इसमें उक्त अधिकृत उपयोगकर्ताओं के लिए पासवर्ड शामिल हो भी सकता है और नहीं भी। इस मामले में, हम उपयोगकर्ता नाम और पासवर्ड सत्यापन के साथ एक का पता लगाएंगे।

मैं इस मॉड्यूल को बनाने के लिए व्यक्तिगत रूप से निम्नलिखित पंक्तियों को जोड़ता हूं:

कोड के नीचे:


###############################################################################
# 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 बातचीत। फिर कमांड का उपयोग करके लूप के माध्यम से जब तक मान्य करता है कि मान के लिए दर्ज किया गया उपयोगकर्ता का नाम से तुलना करें मान्य उपयोगकर्ता मान पहले से परिभाषित, उपयोगकर्ता को शब्द टाइप करके प्रोग्राम को सही ढंग से बंद करने की संभावना देता है बाहर जाओ। यदि उपयोगकर्ता सत्यापन सफल है, तो पासवर्ड के साथ एक ही प्रक्रिया को आगे बढ़ाएं। उपयोगकर्ता और पासवर्ड के सत्यापन के सफल होने की स्थिति में समाप्त करने के लिए a सरल मेनू में बनाया गया बातचीत पूछ रहा है कि क्या उपयोगकर्ता एक्स कार्यक्रम प्रक्रिया को जारी रखना चाहता है या नहीं। यदि हां, तो एक साधारण जारी करें प्रगतिशील बार कमांड के साथ किया गया इंतजार मामला.

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

सिफारिश:

अनुसूची या सोचो! पहला क्या है? ओ अधिक महत्वपूर्ण क्या है?

एक शक के बिना, जब हम प्रोग्रामिंग शुरू करते हैं, तो पहली चीज जो हमें सीखनी चाहिए वह है लॉजिक और गणित सीखने के लिए सैद्धांतिक आधारों के रूप में एल्गोरिदम या प्रवाह आरेख, हमारे तार्किक-गणितीय तर्क को बढ़ाने के लिए, हालांकि, यह आधार प्रोग्रामिंग शुरू करने के लिए पर्याप्त या पर्याप्त है। वह समझलो प्रोग्राम करना सीखें, यह पर्याप्त नहीं है, यह आवश्यक है सोचना सीखो।

जो भाषा सीखने में सक्षम है, मैं प्रगति के लिए सीखने के लिए पर्याप्त है?

यह निश्चित रूप से एक अनिवार्य प्रश्न है जो हम सभी स्वयं से पूछते हैं जब हम प्रोग्रामिंग की अद्भुत दुनिया में शुरू करते हैं। लेकिन यह पहला सही सवाल नहीं है जो हमें खुद से पूछना चाहिए, लेकिन:

क्या मैं एक पेशेवर, एक वार्षिक आयोजक और एक परिणाम का खुलासा करने के लिए आवश्यक विश्लेषणात्मक क्षमता है?

और निश्चित रूप से किसी भी सबसे आम या शक्तिशाली भाषा में प्रोग्राम करना सीखना कई निर्विवाद फायदे हैं। चूंकि यह हमें अपने स्वयं के अनुप्रयोगों को विकसित करने के लिए आवश्यक उपकरण प्रदान करता है, यह हमें तकनीकी उपकरणों में समस्याओं का पता लगाने में मदद करता है, और यह हमारे लिए नौकरी के बाजार में दरवाजे खोलता है, लेकिन प्रोग्रामिंग कंप्यूटर विज्ञान का केवल एक छोटा सा हिस्सा है।

जब प्रोग्राम या कोड लिखें एक निश्चित ऑपरेशन करने के लिए, एक के बाद एक कंप्यूटर (एक एप्लिकेशन, सॉफ्टवेयर या सिस्टम के माध्यम से) को पढ़ाने के होते हैं विकल्प X एक ऑपरेटर या ए द्वारा किया जाता है घटना एक्स द्वारा या उसी हार्डवेयर या सॉफ़्टवेयर के भीतर जो इसका समर्थन करता है; कंप्यूटर विज्ञान (सूचना विज्ञान / प्रणाली) के सिद्धांत वे हमें तर्क और तर्क कौशल सिखाते हैं जो प्रौद्योगिकी के अलावा अन्य क्षेत्रों में उपयोगी हैं। कंप्यूटर विज्ञान, संक्षेप में, जानकारी को संसाधित करने और प्रतिनिधित्व करने का तरीका सिखाता है।

इसलिए, मैं इसे सबसे उपयुक्त तरीका मानता हूं प्रोग्राम करना सीखें।

मैं समझाता हूँ, एक उदाहरण के रूप में, इस अन्य पोस्ट को बुलाया कोड करना न सीखें। सोचना सीखें » de येवगेनी ब्रिकमैन, जहां यह इंजीनियर प्रोग्राम करने के तरीके, और इस सादृश्य के साथ कंप्यूटर वैज्ञानिक की तरह सोचने के तरीके के बीच अंतर को सारांशित करता है:

जैसा कि एक तकनीक के रूप में सर्वव्यापी है, इससे हमें यह सीखने की ज़रूरत नहीं है जब हम एक शिक्षण केंद्र में इसका अध्ययन करते हैं। एक उदाहरण के रूप में, हम यह जान सकते हैं कि जीवन के किसी बिंदु पर लगभग कोई भी कभी भी हवाई जहाज से उड़ान भर चुका है, लेकिन वहां से पायलट का लाइसेंस प्राप्त करने के लिए, बहुत लंबा रास्ता तय करना है, जो आमतौर पर औपचारिक अध्ययन का हिस्सा नहीं है एक व्यक्ति, लेकिन एक विशिष्ट क्षेत्र पर बहुत विशेष अध्ययन।

अधिक विस्तार से बताया गया है, इसका मतलब यह है कि किसी के बारे में यह ज्ञान हो सकता है कि हवाई जहाज कैसे काम करते हैं मूल रूप से हम में से कई माध्यमिक और विश्वविद्यालय शिक्षा या किसी तकनीकी कैरियर (इंजीनियरिंग), जैसे कि भौतिकी और गणित से हैं जो हमें यह समझने में मदद करते हैं कि सेना कैसे होती है उड़ान में मौजूद है, और बाहरी तत्व जैसे गुरुत्वाकर्षण, वायुमंडलीय दबाव, गति, घर्षण या लिफ्ट। और जैसा कि जीव विज्ञान हमें यह समझने में मदद करता है कि एक इंसान एक्स ऊंचाई पर कैसे व्यवहार करता है, या यह ऑक्सीजन और अत्यधिक ठंड की कमी से कैसे प्रभावित होता है। या वह कहानी जो हमें उस प्रक्रिया को जानने की अनुमति देती है जिससे हवाई जहाज कैसे बने, और परिवहन और वाणिज्य में उनकी क्या भूमिका है। ये सभी ज्ञान एक शिक्षण केंद्र में एक साथ प्राप्त किए गए, ज्ञान के विभिन्न क्षेत्रों से, हमें एक सामान्य विचार प्रदान करते हैं कि एक हवाई जहाज क्या है और यह कैसे काम करता है। सामान्य विषय हमें विभिन्न प्रकार की समस्याओं को समझने में मदद करते हैं, जिसमें हवाई जहाज कैसे उड़ते हैं। एक विशेष विषय से बहुत कुछ अलग है जो आपको केवल उन मशीनों में से एक, एक प्रकार का हवाई जहाज संचालित करना सिखाता है। इसलिए, उसी कारण से, हमें कंप्यूटर विज्ञान का अध्ययन करने पर ध्यान केंद्रित करना चाहिए, न कि केवल प्रोग्रामिंग। चूँकि कंप्यूटर साइंस हमें विश्व स्तर पर सामान्य (प्रणालीगत) अर्थों में सोचना सिखाता है, प्रोग्रामिंग केवल एक उपकरण है जो हमें एक कोड X के माध्यम से एक विचार या समस्या Y का अनुवाद करने की अनुमति देता है, जो पहले विश्लेषण किया गया था (सही या गलत तरीके से)।

इस और कई अन्य बिंदुओं ने योगदान दिया येवगेनी ब्रिकमैन उसके पोस्ट में क्या कार्यक्रम यह एक व्यापक ज्ञान का हिस्सा है जो भीतर अंतर्निहित है कंप्यूटर विज्ञान, जो प्रत्येक प्रोग्रामर के लिए आवश्यक हैं।

अंत में, सबसे महत्वपूर्ण आदेशों के बारे में सीखने के साथ स्वयं-सिखाया तरीके से प्रगति करना याद रखें ग्नू / लिनक्स ज्ञान को आगे बढ़ाने के लिए जो वे बाद में उपयोग करेंगे, और यह कि कुछ के विकास के बारे में यहाँ प्रस्तुत सब कुछ मॉड्यूल, फ़ंक्शन, वेरिएबल, कमांड या एक्शन सामान्य तौर पर यह अलग-अलग तरीकों या वैकल्पिक तरीकों से किया जा सकता है, यहाँ वर्णित लोगों से अलग है।

एक निरंतरता संयुक्त राष्ट्र मेरे द्वारा बनाई गई स्क्रेनेकास्ट, जहां आप देख सकते हैं कि इस मॉड्यूल को कैसे निष्पादित किया जाता है, पिछले या बाद के मॉड्यूल को सिखाया जाना चाहिए, ताकि आप एक मध्यम स्तर पर शेल स्क्रिप्टिंग की क्षमता देख सकें (उन्नत नहीं):

एलपीआई-एसबी 8 टेस्ट स्क्रीनकैस्ट

(LINST POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - भाग 2


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   एक और जो गुजर रहा था कहा

    अगर मैंने इसे सही तरीके से समझा है तो। आप उपयोगकर्ता को अपना उपयोगकर्ता नाम दर्ज करने के लिए कहते हैं ... ठीक है। और जब आप अपना पासवर्ड दर्ज करते हैं ... और यह पता चलता है कि पासवर्ड "lpi * sb8" है ... और यह स्क्रिप्ट में "हार्डकोड" है।

    यदि उपयोगकर्ता ने स्क्रिप्ट… बिंगो !! का उपयोग पढ़ा है तो ... उन्हें पहले से ही पता है कि उन्हें कौन सा उपयोगकर्ता नाम और पासवर्ड दर्ज करना है !!!

    मुझे नहीं पता कि मैंने किसी चीज़ के बारे में गलती की है ... लेकिन यदि ऐसा है, तो यह बहुत असुरक्षित है ...

  2.   इंग जोस अल्बर्ट कहा

    सच! मैंने अब एक तरीका दिया है, उस सहज जिज्ञासा के साथ प्रत्येक व्यक्ति जो मानव जाति की विशेषता रखता है उसे सुरक्षा लाइनों में पूर्णता या मजबूती की तलाश करनी चाहिए।