Бағдарламаны 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
###############################################################################

Көріп отырғаныңыздай, бұл модуль алдымен сіздің терминалды экран көк фонда үшін a пайдаланушының көрнекі бағалауы, содан кейін шығарады есту хабарламалары Con сөйлеу y көрнекіліктер Con Echo y диалог. Содан кейін команданы пайдаланып цикл арқылы дейін үшін енгізілген мәнді растайды пайдаланушы аты салыстыру жарамды пайдаланушы мәні (дер) бұрын анықталған, пайдаланушыға сөзді теру арқылы бағдарламаны дұрыс жабу мүмкіндігін береді Шығу. Егер пайдаланушының растауы сәтті болса, парольмен бірдей процедураны орындаңыз. Қолданушы мен құпия сөзді растау сәтті болған жағдайда аяқтауды а қарапайым мәзір жасалған диалог X пайдаланушысы бағдарлама процесін жалғастыруды қалайтын-қаламайтынын сұрайды. Егер солай болса, қарапайым шығарыңыз прогрессивті бар пәрменмен күту жағдай.

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

Ұсыныс:

Кесте жасаңыз немесе ойланыңыз! Бірінші не? o Неғұрлым маңызды?

Сөзсіз, біз бағдарламалауды бастағанда, ең алдымен, логикалық-математикалық пайымдауды арттыру үшін логика мен математиканы үйренудің теориялық негізі ретінде алгоритмдер немесе схемалар қажет, алайда бұл бағдарламалауды бастау үшін жеткілікті немесе жеткілікті негіз . Мұны түсін Бағдарламалауды үйреніңіз, бұл жеткіліксіз, қажет Ойлауды үйреніңіз.

БАҒДАРЛАМАЛАУ ТІЛІНІҢ ҚАЙСЫСЫНДА БАҒДАРЛАМАҒА ТЕЗ БІЛУГЕ ЖЕТЕ АЛУҒА БІЛУ КЕРЕК?

Бұл таңғажайып бағдарламалау әлемінде бастағанда бәрімізге қоятын міндетті сұрақ. Бірақ біз өзімізге қоятын бірінші дұрыс сұрақ емес, бірақ:

МЕНІҢ МӘСЕЛЕСІН ТАЛДАУ, ЕЛЕМЕНТТЕРІН СЫРЫП, ЖАУАП КӨРУ ТАЛАПТЫҚ ҚАБЫЛЕТТІЛІГІ КЕРЕКПІ?

Әрине, кез-келген кең таралған немесе қуатты тілдерде бағдарламалауды үйренудің көптеген даусыз артықшылықтары бар. Ол бізге өз қосымшаларымызды әзірлеуге қажетті құралдармен қамтамасыз ететіндіктен, бұл бізге технологиялық құрылғылардағы мәселелерді табуға көмектеседі және еңбек нарығында бізге есік ашады, бірақ бағдарламалау информатиканың кішкене бөлігі ғана.

Әзірше Бағдарлама немесе код жазу компьютерді (қосымша, бағдарламалық жасақтама немесе жүйе арқылы) а-дан кейін белгілі бір операцияны орындауға үйретуден тұрады X нұсқасы оператор немесе а Х оқиға оны қолдайтын жабдық немесе бағдарламалық жасақтама арқылы немесе сол арқылы; Информатика принциптері (информатика / жүйелер) олар бізге технологиядан басқа салаларда пайдалы ойлау мен логикалық дағдыларды үйретеді. Информатика өз мәні бойынша ақпаратты өңдеу мен ұсынуды үйретеді.

Сондықтан, мен оны ең қолайлы түрі деп санаймын Бағдарламалауды үйреніңіз.

Мен мысалға келтіре отырып, осы басқа жазбаны түсіндіремін Код жазуды үйренбеңіз. Ойлауды үйрен » de Евгений БрикманБұл жерде инженер бізге бағдарламалауды білу және осы ұқсастықпен компьютер ғалымы сияқты ойлауды білу арасындағы айырмашылықты қысқаша ашады:

Барлық жерде технология болғанымен, бұл біз оны оқыту орталығында оқығанда үйренуге мәжбүр етпейді. Мысал ретінде, өмірдің кез-келген уақытында кез-келген адамның ұшақпен ұшқанын аламыз, бірақ ол жерден ұшқыш лицензиясына жету үшін өте ұзақ жол бар, ол әдетте ұшақтың бөлігі емес адамның формальды зерттеулері, бірақ белгілі бір саладағы өте ерекше зерттеулер.

Толығырақ түсіндіретін болсақ, бұл кез-келген адамның ұшақтардың қалай жұмыс істейтіні туралы білуі мүмкін, негізінен біздің көпшілігіміз орта және жоғары оқу орындарынан немесе кез-келген техникалық мансаптан (инженерлік), мысалы, физика мен математикадан аламыз, бұл бізге көмектеседі күштердің ұшу кезінде қалай болатынын және ауырлық күші, атмосфералық қысым, жылдамдық, үйкеліс немесе көтеріліс сияқты сыртқы элементтерді түсіну. Биология бізге адамның X биіктікте өзін қалай ұстайтынын немесе оттегінің жетіспеуі мен қатты суықтан қалай әсер ететінін түсінуге көмектесетіні сияқты. Немесе ұшақтардың қалай пайда болғанын және олардың көлік пен коммерцияда қандай рөл атқаратындығын білуге ​​мүмкіндік беретін оқиға. Осы білімнің барлығы білім берудің әртүрлі бағыттарынан бастап оқу орталығында жинақталып, ұшақ дегеніміз не және ол қалай жұмыс істейтіні туралы жалпы түсінік береді. Жалпы пәндер бізге көптеген мәселелерді, соның ішінде ұшақтар қалай ұшатынын түсінуге көмектеседі. Мамандандырылған пәннен мүлдем өзгеше нәрсе, ол сізге тек сол машиналардың бірін басқаруды үйретеді, бұл ұшақтың түрі. Сондықтан, дәл сол себепті біз тек бағдарламалауға емес, информатиканы оқуға ден қоюымыз керек. Информатика жаһандық деңгейде жалпы (жүйелік) мағынада ойлауға үйрететіндіктен, бағдарламалау тек идеяны немесе Y мәселесін X талдауы арқылы (дұрыс немесе қате) аударуға мүмкіндік беретін құрал ғана.

Бұл және басқа көптеген көзқарастар ықпал етті Евгений Брикман не туралы өзінің жазбасында Кесте бұл кеңейтілген білімнің бір бөлігі ғана Информатика, олар әр бағдарламашы үшін өте қажет.

Сонымен, ең маңызды командалар туралы біле отырып, өзін-өзі оқытатын әдіспен алға ұмтылуды ұмытпаңыз GNU / Linux оларды кейінірек қолданатын және кейбіреулерінің дамуы туралы осында келтірілгендердің барлығы туралы білімді алға қарай жалғастыру модуль, функция, айнымалы, команда немесе әрекет тұтастай алғанда мұнда сипатталғаннан өзгеше немесе әртүрлі тәсілдермен немесе балама әдістермен жүзеге асырылуы мүмкін.

Төменде а Мен жасаған скринкаст, бұл жерде Shell Scripting әлеуетін орташа деңгейде көруге болатындай етіп, осы модульдің қалай орындалғанын, алдыңғы немесе кейінгі модульдерді оқытуды көруге болады (Жетілмеген):

LPI-SB8 скринкаст сынағы

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - 2 бөлім

 

 


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

2 пікір, өз пікіріңізді қалдырыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады.

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.

  1.   Өтіп бара жатқан басқа дижо

    Егер мен оны дұрыс түсінген болсам. Сіз пайдаланушыдан өзінің пайдаланушы атын енгізуді сұрайсыз ... жарайды. Құпия сөзді енгізгеннен кейін ... және пароль «lpi * sb8» болып шығады ... және ол сценарийде «қатаң кодталған» болады.

    Егер пайдаланушы сценарийге қол жеткізе алса ... bingo !! ... олар қай пайдаланушы аты мен парольді енгізу керектігін біледі !!!

    Мен бір нәрсе туралы қате жібергенімді білмеймін ... бірақ егер болса, бұл өте қауіпті ...

  2.   Инг. Хосе Альберт дижо

    Рас! Мен қазір әдісті ұсындым, адамзат ұрпағын сипаттайтын туа біткен қызығушылығы бар әр адам оның жетілуін немесе қауіпсіздікті нығайту жолынан іздеуі керек.

bool(шын)