Bash: орындалатын сценарийді қалай жасауға болады

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

Енді мен сіздерге әрқашан білуіңіз керек болатын негізгі нәрселерді көрсетемін және бұл маған қалған оқулықтарда көмектеседі.

.Sh сценарийін қалай жасауға болады?

Қарапайым ... өте қарапайым 😀

1. Терминалды ашып, оған келесіні жазып, басыңыз [Енгізу]:

cd $HOME && touch script.sh && chmod +x script.sh

Бұл олар үшін файл жасау үшін жеткілікті болады сценарий.sh оның ішінде жеке папка.

2. Терминалға мыналарды қойыңыз:

cd $HOME && echo '#!/bin/bash' > script.sh && echo '# -*- ENCODING: UTF-8 -*-' >> script.sh

3. Дайын, сценарийіңіз дайын have

Егер біз оны ашсақ, бізде келесідей нәрсе болады:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Осы екінші жолдан кейін, сол жерден нұсқаулар жазылады.

Мысалы, біз сізге терминалда көрсетіңіз деп айтамыз «<° Linux - ең жақсы»😀

Бізде сценарий келесідей болады:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

.Sh сценарийін қалай іске қосуға немесе тексеруге болады?

1. Біз сценарий бар қалтаға баруымыз керек, алдыңғы мысалда бұл біздің жеке папкамыз болар еді, сондықтан біз терминал ашып, оған келесіні жазамыз және басамыз [Енгізу]:

cd $HOME

2. Енді біз оны нүкте мен қиғаш сызық (кейін) қойып, содан кейін сценарийдің атымен орындаймыз, яғни:

./script.sh

Ал бинго, бізде ондай бар 😀

Мұны жасаңыз, көресіз ...

Енді маңызды деталь, соңында олар әрқашан «Шығу«

Ал енді енді ештеңе қоспаңыз, болашақ оқулықтарды күтіңіз, осында сіз білесіз bash ХАХА.

тілекпен


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

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

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

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

*

*

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

  1.   Оскар дижо

    Досым рахмет, мен сценарийді қалай жасау керектігін әрдайым білетін едім, енді үйренетін кез келді, келесі оқулықтарды күтемін.

    1.    KZKG ^ Gaara <«Linux дижо

      Нах, рахат хе he
      Сіз көресіз ... мен біртіндеп біреудің қозғалатындығын, не үйренетінін және бәріміз жақсаратынымызды білу үшін Bash оқулықтарын қоямын.

      тілекпен

      1.    Хосе дижо

        Сәлеметсіз бе, егер сіз маған бірнеше сценарий бойынша көмектесе алатын болсаңыз, мен сіздің көмегіңізге мұқтаж болар едіңіз, ал мен тақырып бойынша істеуім керек болса, менімен байланысқанды қалаймын.
        Алдын ала рахмет

  2.   Pardo дижо

    Өлім! керемет 😉

    1.    KZKG ^ Gaara <«Linux дижо

      Рахмет 😀
      Есіңізде болсын, шағымдар немесе ұсыныстар әрқашан жақсы қабылданады 😉

  3.   тарегон дижо

    Маған жазба ұнады, сценарий тақырыбы қажет болғанда, мен тақырыпта «#! / Bin / bash» жолын табу үшін шарлауға кірісемін (мен өте ұмытшақпын). Енді мен осы үлесіммен оны түсініктеме бере аламын, жай көшіріп алып қоюым керек 😀

    1.    KZKG ^ Gaara <«Linux дижо

      Бұл / bash және / sh екенін ұмытпаңыз ... бұл басқаша хаха, мен бір күнде маған жұмыс істемейтін сценариймен 2 күн күресіп, bash орнына sh жазғандықтан болды 😀

      Сізге кез-келген сұрақ.
      тілекпен

  4.   xfraniux дижо

    Jaajajajajaja және бұл ең қарапайым, сіз gedit немесе кез-келген редакторды ашып, көшіре аласыз:

    #!/bin/bash
    # -*- ENCODING: UTF-8 -*-
    echo “<° Linux es lo mejor”
    exit

    Содан кейін біз оны орындауға рұқсат береміз….

    өте жақсы деректер .. сәлемдесу

    1.    KZKG ^ Gaara <«Linux дижо

      хе, иә, осылай жасалуы мүмкін еді, бірақ мен білмеймін ... Мен екі жолдың көшірмесін / қоюын оңайырақ етемін деп ойладым (ол біреуі болуы мүмкін) және солай болды, сценарийді орындау рұқсаттары мен тақырыбы дайын ready

    2.    Бертөлді дижо

      Сәлеметсіз бе. Сценарийлер әрқашан .sh файлы ретінде сақталуы керек пе?

      Терезелерде оған ұқсас .bat файлдары болады. Ал олардың жазуына келетін болсақ, олар сәл қарапайым болып көрінеді.

  5.   Лукас Матиас дижо

    Өте жақсы

    1.    KZKG ^ Gaara <«Linux дижо

      Рахмет 😀

  6.   артуро молина дижо

    Мен келесі жазбаны күтемін және жазбаны күтіп тұрған сәтке дейін.

    1.    KZKG ^ Gaara <«Linux дижо

      😉
      Маған қандай да бір ұсыныстар, сценарий немесе басқа нәрсе керек пе? 😀

  7.   батылдық дижо

    Бағдарламалауды білмейтін адам осы ма? Бұл оңай болғанымен, бағдарламалау

    1.    KZKG ^ Gaara <«Linux дижо

      ХАХАХА жүріңіз ... сіз қуаныштымыз ба? ... Баштың біразын біліп алыңыз, оның қаншалықты керемет екенін көресіз, бағдарламалауды білудің қажеті жоқ, одан from

      Сен не айтасың?

      1.    батылдық дижо

        Мен бүгін сол үшін емеспін

  8.   аноним дижо

    Шындығында, егер сценарийлер үнемі жасалатын болса, тапсырманың өзін келесідей сценариймен автоматтандыруға болады (ол тек $ home / bin / -ге көшіріледі және орындалуға рұқсат беріледі)


    #!/bin/sh
    # nuevoscript
    if [ $# -eq 0]; then
    DEST=$HOME
    SNAME=script.sh
    elif [ $# -eq 1]; then
    DEST=.
    SNAME="$1"
    else
    echo "Parámetros incorrectos"
    exit -1
    fi
    echo -e '#!/bin/bash\n# -*- ENCODING: UTF-8 -*-' > "$DEST/$SNAME" && \
    chmod +x "$DEST/$SNAME"
    echo "Creado el script $DEST/$SNAME"
    exit 0

    Егер сіз жүгірсеңіз жаңа сценарий параметрлерсіз жасаңыз $ home / script.sh, бірақ егер ол іске қосылса жаңа сценарий басқа сценарий, жасайды ./otherscript

  9.   Рамсес дижо

    Сәлеметсіз бе, досым, мен sdcard-қа автоматты түрде қалай қосуға болатындығын және оны телефонымда сондай андроидпен оқитынымды және орындалған кезде abd.exe қосылатынын және bugreport> bugreport.txt пәрменін бастайтынымды білгім келеді.

    1.    KZKG ^ Гаара дижо

      Дос жоқ идея ... Мен ешқашан Android қолданған емеспін.

  10.   Neo61 дижо

    Рахмет Гаара, мен сценарийлерді үйретуге болатын орынды тапқым келді, электронды пошта арқылы сізге бұл туралы айтқан болатынмын, бұл мен үйренуім керек нәрсе. Мен сіз егжей-тегжейлі айтқан қадамдар бойынша жүрдім, бәрі керемет, бірақ ол орындалмайды, мен мынаны аламын:

    ./script.sh: 5-жол: сәйкес келетін «» 'іздеу кезінде күтпеген EOF
    ./script.sh: 9-жол: синтаксистік қате: файлдың соңы күтілмеген

    Маған менің қателігімнің не екенін түсіндіріңіз

    1.    KZKG ^ Гаара дижо

      Менің кінәм, WordPress кейбір мәліметтерді өзгертеді, посттағы кодты тағы бір қарап, сценарийіңізге осылай салыңыз.
      Не болады:

      «Asd»

      Бұл бірдей емес:
      "asd"

  11.   Neo61 дижо

    Мен түсінбеймін, мен оны әлі де солай көремін. Өзгеріс қайда? Маған жақсы түсіндіріп бере аласыз ба? Енді сіз оны орындаған кезде келесі жол шығады:
    ./script.sh: 5-жол: °: Файл немесе каталог жоқ

    1.    KZKG ^ Гаара дижо

      Маған жұмыс істеп жатқан сценарийді беріңіз, кодты мына жерге қойыңыз: http://paste.desdelinux.net
      Постқа тағы бір қараңыз, мен Жаңарту батырмасын басуды ұмытып кеттім 😀

  12.   Neo61 дижо

    Сәлем серіктес:
    Сізге 2010 жылы сіздің конкиге арналған конкирк сценарийін қарап жатқанымды айтамын, иә, бұл дұрыс, дискінің белгісі Poky деп аталатын дереккөзге жатады, бірақ ол әдепкіде Ubuntu 12.04-те libreOffice-де келмейді, егер сізде осы ақпарат көзі болса , оны қай жерден жүктеуге болатынын айтыңыз (біршама қиын, шынымен де), мен бір түсінгенім, осы таңбалардың әріптері қойылып, қаріп жүйеде болмаған кезде, ол таңбаны емес, әріпті қояды, Бұл қисынды, менде бәрі қалай жұмыс істейтіні туралы түсінік пайда болды, бірақ маған мұны жақсы түсіну үшін маған біреу түсіндіретін нәрсе керек, мен істейтінімнің барлығы дедукция арқылы болады және мен ешқашан бағдарламалаған емеспін, мен оқыған информатика емес Сонымен қатар, бұл басқа уақыт болды, менде хобби ретінде есептеу бар және жақсы нәрсе - мен оның филиалдарының бірінде жұмыс істеймін, білгенімнің бәрі өздігінен оқытылды, сондықтан менің қызығушылығым біртіндеп, Мені басқарыңыз. Мұнда менің конкиімнің сценарийі бар, ал мен не алмағанымды түсіндіремін:

    Қараңызшы, мен басқа HDD-ді салуға тырысқанда, мен оны ала беремін, өйткені ол бірдей температура мәнін береді. Мен жүйеде процессордың сипаттамаларын ала алмаймын, ол (NULL) қалың болып шығады, мен 2010 жылы коньяктар коньяктарын реттемейтін және кеңейтетін конки енгізген күнтізбені енгізуге тырысқанда. Сіз жасай алатын барлық жақсартуларды көру үшін қараңыз. Мен өзімнің еніммен және сіздің күнтізбеңіздің сол енге бейімделуі және сізге айтпағандардың бәрі шықпағаны ұнайды, міне:

    http://paste.desdelinux.net/4552

    –Кодты біздің қойылымға салыңыз, сондықтан түсініктемелер онша кең емес -

  13.   GONZALO дижо

    сіздің қосқан үлесіңіз өкінішті

  14.   Эдгар дижо

    Сәлеметсіз бе, сіз осы сценарий арқылы менің өмірімді жеңілдеттіңіз. Маған электрондық пошта арқылы хат жібере алатыныңызды білгім келгені үшін көп рахмет, өйткені мен бағдарламалауды жақсы білетін адаммын.
    Gracias

    1.    KZKG ^ Гаара дижо

      сәлем,
      Мен осы код жолдарын сипаттай алмадым / түсіндіре алмадым, нені басқа жолмен түсіндіруге түсінбедіңіз?

      Дәл сол сияқты, егер сізде күмәніңіз болса, сіз әрқашан біздің форумнан сұрай аласыз: forum.desdelinux.net

      Сәлемдесу 😀

  15.   Сезар дижо

    Жақсы үлес, бірақ сіз оны толықтыра аласыз ... Маған ақбөкеннің сценарийі керек. Яғни, Sai батареяда екенін және өшіруге 20 минут уақыты бар екенін түсінген кезде, ол құрылғыға сигнал жібереді және кейбір серверлерді өшіру үшін сценарийді орындау керек. Мен өзімді жақсы түсіндіргенімді білмеймін ... Валдрия сценарийіңізді «өшіру -h» қою арқылы ??

    Gracias !!

  16.   Иса Израиль Пералес Мартинес дижо

    Менің шаблоным қалтасына қосылатын тағы бір нәрсе: B

  17.   Эдвар дижо

    Маған біреу көмектесе алар ма еді, маған ubuntu үшін скрипт керек, егер біз Chrome браузерін жауып қойсақ, оны қайта ашыңыз

    Алдын-ала рақмет

  18.   edo дижо

    Маған сценарий керек, оны тек қана орындау арқылы файл туралы ақпаратты басқа мәтінмен жазады, біреу оны қалай біледі?

    1.    edo дижо

      Жоғарыда олар мұны қалай істеу керектігін айтатындығын бұрыннан көрдім

  19.   Дарио дижо

    Өте жақсы, немерелеріме өте жақсы.
    Мың алғыс. »Сізде көптеген мұғалімдердің рөлін атқаратын жастар болғанымен ....

  20.   Римдік компьютер дижо

    Қарапайым және функционалды.

    Бөліскеніңіз үшін рақмет.

    Құттықтаулар.

  21.   Эрнан Джарамильо дижо

    Көмегіңе рахмет. Бұл өте пайдалы болды.

  22.   Висен дижо

    Маған қызмет еткеніне рахмет. Алақай!

  23.   Гамерц дижо

    Қарапайым және тиімді. Жаңадан келгендерге арналған керемет оқулық 🙂

  24.   Луис Карлос дижо

    Сәлеметсіз бе, мен сценарийлер туралы өте аз білемін және түсініктерді шатастырып жатқанымды білмеймін, бірақ мен мына веб-бетте:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Мәселе мынада, мен бұл кодты қалай бастау керектігін немесе бұл IPTABLES-ті алмастыратындығын түсінбеймін. Егер ол оны ОЖ-дан автоматты түрде басталатындай етіп ауыстырса.

    Gracias

  25.   Крис дижо

    Керемет Гаара !!!

    Үй тапсырмасын сіз түсіндіргендей жасай бастадым, ол нәтиже берді !! Қараңғылықтан наданға шығу үшін уақыт бөліп, біліміңмен бөліскеніңе рақмет.

    😉

  26.   Leo дижо

    Сәлеметсіз бе, менде қолданушы жасайтын сценарий жасауға сұрақтарым бар, маған көмектесе аласыз ба?

  27.   Giovani дижо

    сәлем .sh файлымен сұрағым бар
    сізде бұған жол бар ма?
    Мен мұны дұрыс істеп жатқанымды білу үшін сізбен байланысқа шықтым?

    #! / system / bin / sh
    қайта орнату, rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    Mount -o remount, ro /

    , Мен оны қолмен терминалда іске қосамын, егер ол жұмыс істесе, бірақ мен файлды іске қосқым келген кезде оны қаламаймын.

  28.   Луис дижо

    Мен мұны vivaolinux.com.br сайтынан таптым, бұл өте жақсы

    #! / bin / bash

    Gera.sh - сценарийлерге арналған Gera cabeçalho негізінде

    Авторы: Сандро Марселл П.Барбоза (Боа Виста - Рорайма)

    Электрондық пошта: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Қолдану мысалы: скрипт_аты my_script

    Сіз сондай-ақ кеңейтуді, сәйкестікті немесе аудармашыны көрсете аласыз.

    Мысалы: o shome аудармашысына арналған nome_script backup.sh

    немесе 'tcl' аудармашысына арналған nome_script backup.tcl, сонымен қатар күн үшін!

    Аудармашыны анықтай аласыз (басқасын ауыстыра аласыз!):

    INTERPRETER = »#! / Bin / sh»

    Тақырып мазмұны (қалағаныңызша өзгертіңіз!):

    АҚПАРАТ = »##»
    CREATOR = »## Авторы:»
    EMAIL = »## Электрондық пошта: you@correo.com»
    DISTRO = »##»

    Пайдаланушының сценарий атауын көрсеткенін тексеру:

    егер [$ # -eq 0]; содан кейін
    echo «>>> Пайдалануы: $ (basename $ 0)»
    Шығу
    fi
    егер [$ # -ge 2]; содан кейін
    echo «бос орындары бар атау жарамсыз!»
    Шығу
    fi

    Пайдаланушы ағымдағы каталогқа жаза алады ма?

    егер [! -w $ PWD]; содан кейін
    echo «Ағымдағы каталогты жазуға рұқсат жоқ!»
    Шығу
    fi

    Ағымдағы каталогта осы аттас басқа сценарий болса ше?

    егер [-f $ 1]; содан кейін
    echo «Осы каталогта аттас сценарий бұрыннан бар!»
    Шығу
    fi

    Сценарий мазмұны:

    (
    мысық << END
    $ INTERPRETER

    $ INFO
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Енді келесі жолдарға командалар қосыңыз =)

    Осы сценарийдің жасалған күні: $ (күні «+% a% d /% m /% Y»), $ (күні «+% T»)

    FIN
    )> $ 1

    Орындауға рұқсатты орнату:

    егер [-f $ 1]; содан кейін
    chmod + x $ 1 2> / dev / stdout
    echo «$ 1 сценарийі құрылды және оны орындауға рұқсат етілді!»
    fi

    Осы сценарийдің жасалған күні: 29 01:2013:19

    1.    Дебианистроулер дижо

      Керемет, ол керемет жұмыс істейді !!!

  29.   Винсент дижо

    Өте жақсы оқулық, қарапайым және маған көп көмектесті, рахмет

  30.   Каличи дижо

    Құрметті KZKG Мен жаңадан келдім, бірақ мен оқуға қызығамын.
    Сізде басқа сценарий бар. Немесе кенеттен мен жұмыс істейтін жерде жинақталған біреуін ашқым келеді, мен оны көре алмаймын.
    Кез-келген идея.

  31.   Каличи дижо

    Маған сценарий бойынша көмек қажет. Ол құрастырылған.

  32.   cool9 дижо

    Мен бас туралы түсіндім, бірақ автоматтандырылған бүркеншік ат жасағым келсе, ол шықпайды

  33.   ангиесарита дижо

    Көмектес досыңыз үшін көп рахмет.

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

    тілекпен

  34.   Жозе дижо

    Сәлеметсіз бе, қайырлы күн, қараңызшы, мен lex-те жұмыс істеп жатырмын, сондықтан сіз маған lex файлын (lex.yy.c) және деректерді енгізетін файлды басқара алатын сценарий бойынша көмектесе аласыз ба? .

    көп рахмет

  35.   Уилмер Рон дижо

    су кресі рахмет док !!! Мен сценариймен таныспын, көп рахмет, сәлем, мен сіздің жаңа репетиторлығыңызбен ізденісте боламын !!!!

  36.   Карен Вега дижо

    Хола !!!

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

    Saludos !!

  37.   Эйбар Амая дижо

    Сәлеметсіз бе, менде VPS бар, бірақ маған кейбір сұрақтар бойынша көмек қажет, сценарийді немесе басқа нәрсені қалай құруға болатындығы маған қызықтырады, осылайша менің / root папкамның ішіндегі барлық нәрселердің дербес сақтық көшірмесін жасаймын, егер мен сақтық көшірме әр 1 сағат сайын болса көмектесе алар ма едіңіз, мен сізді тым жоғары бағалаймын

    Егер маған көмектескіңіз келсе, мен сізге фейсбукімді қалдырамын, маған көп көмек керек need

  38.   Хорхе Родригес дижо

    мендегі компанияның белгілі бір желілік жабдықтарын бақылау және қадағалау үшін біреуін жасаңыз
    бірақ мен оны қарапайым етіп жасадым

    red.sh && chmod + x red.sh түртіңіз
    лақтырды '# -- Кодтау: UTF-8 -- '>> қызыл.ш
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    оны іске қосыңыз ./red.sh және жақсы

  39.   Гильермо дижо

    Құрметті, мен автоматты түрде орнату сценарийін жасауым керек. Мен жақсы жасалған жұмыс үшін төлеуге дайынмын. Қызықтыратындар маған электронды пошта жіберіңіз carranzalh@gmail.com. Рақмет сізге

  40.   сары дижо

    олар менің әтешімді сорады XD

  41.   hdexz дижо

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

    Электрондық поштаға алдын ала жазғаныңызға қуаныштымын

    cesarloscor@gmail.com