Баш: Аткарылуучу сценарийди кантип жасоого болот

Мен акырындык менен макалаларды койгум келет БашМенде сизге акырындык менен кеңеш берүү, сценарийлерди түзүү жана башка көптөгөн нерселер жетиштүү, ошондуктан биздин күнүмдүк тапшырмалар автоматтык түрдө болот, демек, бул биздин убактыбызды үнөмдөйт 😀

Эми мен сизге ар дайым билишиңиз керек болгон негиздерди көрсөтөм жана бул мага калган сабактарда жардам берет.

.Sh скриптин кантип жасоого болот?

Жөнөкөй ... абдан жөнөкөй 😀

1. Терминалды ачып, ага төмөнкүлөрдү жазып, басыңыз [Кирүү]:

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

Бул алар үчүн файл түзүү үчүн жетиштүү болот script.sh менен анын жеке папка.

2. Терминалга төмөнкүнү койду:

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

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

Эгер биз ачсак, анда бизде мындай нерсе болот:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Ошол экинчи саптан кийин көрсөтмөлөр ошол жерден жазылат.

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

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

.Sh скриптин кантип иштетүү же сыноо керек?

1. Биз сценарий жайгашкан папкага барышыбыз керек, мурунку мисалда ал биздин жеке папкабыз болмок, ошондуктан биз терминал ачып, ага төмөнкүнү жазып, басабыз [Кирүү]:

cd $HOME

2. Эми биз аны чекит жана кыйшык (артынан) коюп, андан кийин сценарийдин аты менен аткарабыз, башкача айтканда:

./script.sh

Жана Бинго, бизде already бар

Жасаңыз, көрөсүз ...

Эми маанилүү деталь, аягында алар ар дайым «чыгуу«

Ошондой эле, эми эч нерсе кошпой эле койсоңуз болот, келечектеги окуу куралдарын күтүңүз, бул жерде сиз үйрөнөсүз Баш ХАХА.

Урматтоо менен


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

57 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Оскар ал мындай деди:

    Рахмат досум, мен ар дайым сценарийди кандайча жасоону кызыктырчумун, эми үйрөнүүгө кез келди, кийинки сабактарды күтөм.

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      Нах, рахат хех 😀
      Көрөсүз ... акырындык менен Башка сабактарын коём, кимдир бирөө толкунданып, үйрөнүп, баарыбыз жакшырып калсак HAHA.

      Урматтоо менен

      1.    Хосе ал мындай деди:

        Салам, сиз мага бир нече сценарий боюнча жардам бере турган болсоңуз, анда мен сизге жардамга муктаж болом жана бир тема боюнча жасашым керек болсо, мен менен байланышкым келет.
        Алдын ала Чон рахмат

  2.   пардо ал мындай деди:

    Ah mortal !! сонун 😉

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      Рахмат 😀
      Арыздар же сунуштар ар дайым жакшы кабыл алынарын унутпаңыз 😉

  3.   тарегон ал мындай деди:

    Мага пост жакты, скрипт башы керек болгондо, баштагы "#! / Bin / bash" деген сапты табуу үчүн гана баштайм (мен аябай унутчаакмын). Эми ушул салымым менен жазып алсам болот, жөн эле көчүрүп чаптап алсам болот 😀

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      Бул / bash жана / sh экендигин унутпаңыз ... башкача хаха, мен бир жолу мен үчүн 2 күн бою иштебей калган сценарий менен күрөшүп, баштын ордуна sh койгонум үчүн 😀

      Бизге айта турган суроолоруңуз.
      Урматтоо менен

  4.   xfraniux ал мындай деди:

    Jaajajajajaja жана бул эң жөнөкөй, сиз gedit же башка редакторду ачып, көчүрүп алсаңыз болот:

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

    Андан кийин биз ага аткарууга уруксат беребиз….

    абдан жакшы маалыматтар .. салам

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      хехе ооба, мындай болушу мүмкүн эле, бирок мен билбейм ... Мен эки саптын көчүрмөсүн / чаптамасын жасоону жеңилирээк деп ойлочумун (чындыгында бирөө болушу мүмкүн), ошону менен сценарийди даярда аткарууга уруксат жана баш сөз er

    2.    Bertholdous ал мындай деди:

      Саламатсызбы. Скрипттер ар дайым .sh файлы катары сакталышы керекпи?

      Терезелерде ага окшогон .bat файлдары болот. Ал эми алардын жазуусуна келсек, алар бир аз жөнөкөй көрүнөт.

  5.   Лукас Матиас ал мындай деди:

    Абдан жакшы che

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      Рахмат 😀

  6.   arturo molina ал мындай деди:

    Кийинки билдирүүнү чыдамсыздык менен күтүп жатам.

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      😉
      Сунуштарыңыз, сценарийимди каалайсызбы же башка нерселер барбы? 😀

  7.   эрдик ал мындай деди:

    Программалоону билбеген ушулбу? Бул оңой болгону менен, программалоо

    1.    KZKG ^ Gaara <"Linux ал мындай деди:

      ХАХАХА келчи ... толкунданып жатасыңбы? … Баштын бир аз бөлүгүн үйрөнсөңүз, анын канчалык деңгээлде сонун экендигин билесиз, андан алысыраак, кантип программалоону билүүнүн кажети жок 😀

      Сен эмне деп?

      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 ^ Gaara ал мындай деди:

      Досу жок идея ... Мен эч качан Android колдонгон эмесмин.

  10.   Neo61 ал мындай деди:

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

    ./script.sh: 5-сап: Дал келген "" 'издөө учурунда күтүлбөгөн EOF
    ./script.sh: 9-сап: синтаксистик ката: файлдын аягы күтүлгөн эмес

    Мага менин катам эмне экендигин түшүндүрүп бериңиз

    1.    KZKG ^ Gaara ал мындай деди:

      Менин күнөөм, WordPress айрым деталдарды өзгөртүп, посттогу кодду дагы бир жолу карап, сценарийиңизге минтип салыңыз.
      Эмне болот:

      "Asd"

      Бул бирдей эмес:
      "asd"

  11.   Neo61 ал мындай деди:

    Түшүнбөйм, дагы деле болсо баягы эле көрүнүш. Өзгөрүү кайда? Мага жакшыраак түшүндүрүп бере аласызбы? Эми аны аткарганда, ушул сап чыгат:
    ./script.sh: сызык 5: °: Файл же каталог жок

    1.    KZKG ^ Gaara ал мындай деди:

      Иштеп жаткан сценарийиңизди өткөрүп бериңиз, кодду ушул жерге коюңуз: http://paste.desdelinux.net
      Постту дагы бир жолу караңыз, мен Жаңыртуу баскычын басууну унутуп койгом 😀

  12.   Neo61 ал мындай деди:

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

    Карачы, мен дагы бир HDD салууга аракет кылганда, ошол эле температураны ала берем, анткени ал бирдей температура берет. Мен системада CPU мүнөздөмөлөрүн ала албайм, ал (NULL) кара тамгалар менен чыгат, мен 2010-жылы Танийлер уюшулган эмес деп конкиге киргизген календарды киргизүүгө аракет кылып, конкий тилкени кеңейтем. Бардык өркүндөтүүлөрдү көрө аласыз. Мага өзүмдүн кенендигим жана календарыңыздын ошол кеңдикке ылайыкташканы жана сизге көрүнбөгөн нерселердин бардыгы чыкканы ошол жакта:

    http://paste.desdelinux.net/4552

    –Кодду биздин пастага салыңыз, андыктан комментарийлер анчалык деле чоң эмес -

  13.   Гонсало ал мындай деди:

    Чындыгында, сиздин салымыңыз өкүнүчтүү

  14.   эдгар ал мындай деди:

    Саламатсызбы, ушул сценарий менен менин жашоомду жеңилдеттиңиз. Сиз мага электрондук почта дарегиңизди айтып бере аласызбы же жокпу, билүү үчүн, сизге чоң рахмат, анткени мен программалоонун бул түрүн жакшы билген адаммын.
    ыракмат

    1.    KZKG ^ Gaara ал мындай деди:

      салам,
      Дагы жакшы, мен бул коддордун саптарын сүрөттөй алган жокмун / түшүндүрө алган жокмун, эмнени дагы бир жол менен түшүндүрүүнү түшүнгөн жоксузбу?

      Ошо сыяктуу эле, сизде шек болсо, биздин форумдан ар дайым сурасаңыз болот: forum.desdelinux.net

      Салам!

  15.   токтотуу ал мындай деди:

    Жакшы салым, бирок сиз аны тегеректеп алсаңыз болот ... Мага сайдын сценарийи керек. Башкача айтканда, Sai батарейканын ичинде экенин жана өчүрүлө турганына 20 мүнөт калганын билгенде, ал шайманга сигнал жиберип, айрым серверлерди өчүрүү үчүн сценарийди аткарышы керек. Мен өзүмдү жакшы түшүндүрдүмбү, билбейм ... Валдрия сценарийиңизди «өчүрүү -h» киргизүү менен ??

    Рахмат !!

  16.   Иса пайгамбар пералес мартинес ал мындай деди:

    Менин шаблон папкама кошула турган дагы бир нерсе: Б

  17.   edwar ал мындай деди:

    Мага ubuntu үчүн скрипт керек болсо, кимдир бирөө жардам бере алабы, эгер биз Chrome браузерин жапсак, аны дагы бир жолу ачыңыз

    Алдын ала рахмат

  18.   Эдо ал мындай деди:

    Мага сценарий керек, аны аткарганда эле файлдын маалыматын башка тексттин үстүнө жазып коём, анын кандай экендигин кимдир бирөө билеби?

    1.    Эдо ал мындай деди:

      Жогоруда кантип жасаш керектигин айтып жатышканын буга чейин көргөм

  19.   Dario ал мындай деди:

    Абдан жакшы, неберелериме мыкты.
    Миң рахмат. »Ошондой эле, сизде мугалимдердин ролун аткарган көптөгөн жаштар бар эле ... сонун болмок.

  20.   Roman PC ал мындай деди:

    Жөнөкөй жана функционалдуу, кандай болуш керек болсо.

    Бөлүшкөнүңүз үчүн рахмат.

    Салам.

  21.   Эрнан Жарамильо ал мындай деди:

    Жардамыңыз үчүн рахмат. Бул пайдалуу, абдан жакшы түшүндүрмө болду.

  22.   Vicene ал мындай деди:

    Мага кызмат кылганына рахмат. Ура

  23.   Gamerz ал мындай деди:

    Жөнөкөй жана натыйжалуу. Жаңылары үчүн сонун окуу куралы 🙂

  24.   Луис Карлос ал мындай деди:

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

    Кеп бул кодду кантип баштоону же эгерде бул IPTABLESдин ордун басса, мен чындыгында түшүнбөйм. Эгерде ал аны автоматтык түрдө ОС менен баштала турган болсо, аны алмаштырат.

    ыракмат

  25.   Дарын ал мындай деди:

    Terrific Gaara !!!

    Үй тапшырмасын сиз түшүндүрүп бергендей кылып жасай баштадым, ал жакшы иштеди !! Убактыңызды бөлүп, караңгылыктан билимсиздерге чыгуу үчүн өз билимиңиз менен бөлүшкөнүңүз үчүн рахмат.

    😉

  26.   Мен окуп ал мындай деди:

    Саламатсызбы, колдонуучу жараткан сценарийди жасоого суроолорум бар болсо, жардам бере аласызбы?

  27.   жаш ал мындай деди:

    салам .sh файлы менен суроом бар
    сенде ушундай жол барбы?
    Мен муну туура кылып жатамбы деп сиз менен байланыштым?

    #! / system / bin / sh
    mount -o remount, 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.   Luix ал мындай деди:

    Мен муну vivaolinux.com.br сайтынан таптым, сонун

    #! / bin / bash

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

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

    E-почта: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Колдонуу мисалы: script_name my_script

    Ошондой эле кеңейтүүнү, шайкештикти же котормочуну көрсөтсөңүз болот.

    Мисалы: "sh" котормочусу үчүн nome_script backup.sh

    же nome_script backup.tcl 'tcl' котормочу үчүн, ошондой эле күн үчүн!

    Сиз котормочуну аныктай аласыз (башкасынын ордуна!):

    INTERPRETER = »#! / Bin / sh»

    Жогорудагы аталыштын мазмуну (каалаганыңыздай өзгөрүңүз!):

    INFO = »##»
    CREATOR = »## Автору:»
    EMAIL = »## Электрондук почта: you@correo.com»
    DISTRO = »##»

    Колдонуучунун скрипт атын көрсөткөндүгүн текшерүү:

    if [$ # -eq 0]; анда
    echo ">>> Колдонуу: $ (basename $ 0)"
    чыгуу
    fi
    if [$ # -ge 2]; анда
    echo "боштуктары бар ысым жараксыз!"
    чыгуу
    fi

    Колдонуучу учурдагы каталогго жаза алабы?

    if [! -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.    Debianistrowler ал мындай деди:

      Сонун, сонун иштейт !!!

  29.   Vicente ал мындай деди:

    Абдан жакшы окуу куралы, жөнөкөй жана мага чоң жардам берди, рахмат

  30.   Calichi ал мындай деди:

    Урматтуу KZKG Мен жаңы келгенмин, бирок үйрөнүүгө кызыкдармын.
    Башка сценарийиңиз бар. Же күтүлбөгөн жерден иштеп жаткан жеримде бир жерин түзгүм келип, аны көрө албай жатам.
    Ар кандай идеялар.

  31.   Calichi ал мындай деди:

    Мага сценарий боюнча жардам керек. Ал түзүлдү.

  32.   cool9 ал мындай деди:

    Мен баш жөнүндө түшүнгөм, бирок автоматташтырылган лакап ат жасагым келсе, ал чыкпайт

  33.   angiesarita ал мындай деди:

    Жардамыңыз үчүн чоң рахмат досуңуз.

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

    Урматтоо менен

  34.   José ал мындай деди:

    Саламатсызбы, күнүңүз жакшы, караңыз, мен lex боюнча бир жумуш аткарып жатам, ошондуктан сиз lex файлын, lex (lex.yy.c) иштете турган скрипт менен жардам бере аласызбы жана маалымат киргизүү файлы.

    Чон рахмат

  35.   Уилмер Рон ал мындай деди:

    watercress рахмат док !!! Мен сценарий менен жаңыдан тааныштым, чоң рахмат, салам, сиздин жаңы репетиторуңуз менен изденүүдө болом !!!!

  36.   Karen vega ал мындай деди:

    Салам!!!

    Салымдарыңыз үчүн чоң рахмат, мен уникске кире баштадым жана сейрек кездешкен адам бул ааламды жөнөкөй жол менен түшүндүрөт. Мен сизден бир жол менен жашаган файлдардын санын табууга жардам берген сценарийди түзүп, башка папкага көчүрүп алсамбы деп сурайм ... бирөө мага сактай алам деди txt жолу жана файлдарымдын аталышы, бирок аны кантип жасашым белгисиз. Мен кунт коюп калам.

    Салам !!

  37.   Эйбар Амая ал мындай деди:

    Салам, менде VPS бар, бирок кээ бир нерселерде жардамга муктажмын, сценарийди же бир нерсени кантип түзүүгө кызыкдармын, ошондо мен өзүмдүн / root папкамдын ичиндеги бардык нерсенин өзүн-өзү камдык көчүрмөсүн сактап калам, эгерде мен 1 саат сайын иштеп турсам. Эгер сиз жардам бере алсаңыз, мен сизди аябай баалайм

    Эгер мага жардам бергиңиз келсе, анда мен өзүмдүн фейсбукумду таштап кетем, мага чоң жардам керек need

  38.   Хорхе Родригес ал мындай деди:

    компаниядагы тармактык жабдууларды пингге жана мониторинг жүргүзүү үчүн мени түзүңүз
    бирок мен аны жөнөкөй кылып жасадым

    red.sh && chmod + x red.sh тийип коюңуз
    ыргытып жиберди '# -- Коддоо: UTF-8 -- '>> red.sh
    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.   sAry ал мындай деди:

    алар менин корозумду сорушат XD

  41.   Hdexz ал мындай деди:

    Кутман таң досум, бир нерсе менен жардам бере аласыңбы?
    Мен компаниянын Linux менен камдык көчүрмөсүн жасашым керек, себеби вирус коопсуз болбой калат, бирок аларды кантип жасоону билбейм
    Мен файлдарды таңгактап, ftpге жөнөтө турган сценарийди жаратышым керек

    Менин электрондук почтама жазып алдын ала ыраазычылык билдирем

    cesarloscor@gmail.com