Bash: Як створити виконуваний сценарій

Я хочу потроху розміщувати статті УдарНу, у мене є достатньо матеріалу, щоб потроху навчити вас порад, створювати сценарії та багато іншого, щоб наші щоденні завдання були автоматичними, тож, очевидно, це заощадить нам багато часу 😀

Зараз я покажу вам основи, те, що вам завжди потрібно буде знати, і це допоможе мені у решті підручників 😉

Як створити скрипт .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

І бінго, у нас це вже є 😀

Зроби це, і ти побачиш ...

Тепер важлива деталь, в кінці вони завжди повинні ставити «вихід«

Ну а тепер, більше нічого не додати, просто почекайте майбутніх підручників, тут ви дізнаєтесь бити ХАХА.

привіт


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Оскар - сказав він

    Дякую, друже, мені завжди було цікаво, як зробити скрипт.

    1.    KZKG ^ Гаара <"Linux - сказав він

      Ні, задоволення хе-хе
      Ви побачите ... потроху я буду розміщувати підручники Bash, щоб побачити, чи хтось збуджується, вчиться, і ми всі покращуємось HAHA.

      привіт

      1.    Хосе - сказав він

        Привіт, мені потрібна буде ваша допомога, якщо ви можете допомогти мені з деякими сценаріями, які я застряг і мені потрібно зробити тему, я хотів би зв’язатися зі мною.
        Велике спасибі заздалегідь

  2.   пардо - сказав він

    Ах смертний !! чудово 😉

    1.    KZKG ^ Гаара <"Linux - сказав він

      Дякую 😀
      Пам’ятайте, що скарги чи пропозиції завжди будуть добре сприйняті 😉

  3.   тарегон - сказав він

    Мені сподобався пост, коли мені потрібен заголовок сценарію, я починаю навігацію, лише знаходячи в заголовку рядок: "#! / Bin / bash" (я дуже забудькуватий). Тепер із цим внеском я можу зробити його анотованим і просто скопіювати та вставити 😀

    1.    KZKG ^ Гаара <"Linux - сказав він

      Пам’ятайте, що це / bash та / sh ... це по-іншому ха-ха, одного разу я провів 2 дні, борючись із сценарієм, який не працював для мене, як слід, і це було тому, що я поставив sh замість bash 😀

      Будь-які запитання, які ви нам задаєте.
      привіт

  4.   xfraniux - сказав він

    Jaajajajajajaja, і це найпростіше, ви також можете відкрити gedit або будь-який редактор і скопіювати:

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

    І тоді ми надаємо йому дозволи на виконання….

    дуже хороші дані .. привіт

    1.    KZKG ^ Гаара <"Linux - сказав він

      хе-хе, так, це могло бути зроблено так, але я не знаю ... Я думав, було б простіше зробити копію / вставку двох рядків (які насправді можуть бути одними) і все, готовий сценарій з дозволи на виконання та заголовок 😀

    2.    Бертольдоуса - сказав він

      Привіт! Чи слід завжди зберігати сценарії як файл .sh?

      У вікнах схожими будуть файли .bat. А що стосується їх написання, то вони виглядають дещо простішими.

  5.   Лукас Матіас - сказав він

    Дуже хороший че

    1.    KZKG ^ Гаара <"Linux - сказав він

      Дякую 😀

  6.   Артуро Моліна - сказав він

    Я з нетерпінням чекаю наступного допису і на даний момент беру до уваги.

    1.    KZKG ^ Гаара <"Linux - сказав він

      😉
      Будь-які пропозиції, сценарій, який ви хочете мені зробити, або щось інше? 😀

  7.   мужність - сказав він

    Це той, хто не вміє програмувати? Хоча це просто, це програмування

    1.    KZKG ^ Гаара <"Linux - сказав він

      ХАХАХА, давай ... ти в захваті? ... Вивчіть трохи Bash, ви побачите, який він чудовий, вам не потрібно знати, як програмувати, далеко не 😀

      Що ти сказав?

      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 - сказав він

    Привіт партнер:
    Я скажу вам, що я розглядав сценарій conkyrc, який ви створили для вашого conky 2010, і так, це правда, символ диска належить джерелу під назвою Poky, але він за замовчуванням не надходить у libreOffice в Ubuntu 12.04, він би будь добре, якщо у вас є це джерело, скажіть мені, звідки я можу його завантажити (дещо складно, насправді), одне, що я зрозумів, це те, що коли букви цих символів ставляться, а шрифт не існує в система, тоді вона ставить букву, а не символ. Це логічно, я вже отримую уявлення про те, як все працює, але мені потрібно, щоб хтось пояснив мені щось, щоб це краще зрозуміти, все, що я роблю, це шляхом відрахування і я ніколи не давав жодного програмування, це не була інформатика, що я вивчав. А також, це був інший час, я займаюся обчисленнями як хобі, і добре, що я працюю в одній з її галузей, все, чому я навчився був самоучкою, тому мій інтерес до когось, хто навіть потроху керує мною. ось також сценарій мого conky, і я поясни, що я не отримую:

    Подивіться, коли я намагаюся вставити інший жорсткий диск, я все одно отримую той самий, оскільки він дає одне і те ж значення температури. Я не отримую характеристики центрального процесора в системі, він виходить (NULL) напівжирним шрифтом, коли я намагаюся вставити календар, який ви помістили в Conky, що tanias в 2010 році дезорганізований і розширює смугу conky. Подивіться, щоб побачити всі вдосконалення, які ви можете зробити. Мені це подобається з моєю шириною, і що ваш календар пристосовується до цієї ширини, і що все, що я вам сказав, що не відображається, виходить, ось воно:

    http://paste.desdelinux.net/4552

    –Вставте код у нашу пасту, щоб коментарі були не такими обширними–

  13.   ГОНЦАЛО - сказав він

    правда полягає в тому, що ваш внесок викликає жаль

  14.   Едгар - сказав він

    Привіт, ти полегшив мені життя за допомогою цього сценарію. Щиро дякую за те, що я хотів би знати, чи можете Ви надіслати мені електронне повідомлення, де Ви це опишете, оскільки я новачок у програмуванні.
    Грекіас

    1.    KZKG ^ Гаара - сказав він

      Привіт
      Краще, я не зміг описати / пояснити ці рядки коду, чого ви не зрозуміли, щоб пояснити по-іншому?

      Можливо, якщо у вас є запитання, ви завжди можете поставити їх на нашому форумі: форум.desdelinux. Net

      Вітаю 😀

  15.   Cesar - сказав він

    Хороший внесок, але ви могли б округлити його ... Мені потрібен сценарій для сай. Тобто, коли Сай усвідомлює, що він заряджений і у нього є 20 хвилин на вимкнення, він надсилає сигнал на пристрій, який повинен виконати сценарій для вимкнення деяких серверів. Не знаю, чи добре я це пояснив ... Вальдрія із введенням у ваш сценарій «shutdown -h» ??

    Спасибі!

  16.   Ісус Ізраїль perales martinez - сказав він

    Щось ще, щоб додати до моєї папки шаблону: B

  17.   Едвар - сказав він

    Хтось може мені допомогти, мені потрібен сценарій для ubuntu, який, якщо ми закриємо браузер chrome, відкрийте його знову

    Спасибі заздалегідь

  18.   Едо - сказав він

    Мені потрібен скрипт, який просто виконуючи його, перезапише інформацію файлу іншим текстом. Хтось знає, як це?

    1.    Едо - сказав він

      Я вже бачив, що вище кажуть, як це зробити

  19.   Dario - сказав він

    Дуже добре, чудово для онуків.
    Тисяча подяк. »Так само, як у вас було б багато молодих людей, які працювали б вчителями ... це було б чудово.

  20.   Римський ПК - сказав він

    Простий і функціональний, як і має бути.

    Дякую, що поділились.

    Привіт.

  21.   Ернан Джарамілло - сказав він

    Спасибі за вашу допомогу. Це було корисно, дуже гарне пояснення.

  22.   Віцене - сказав він

    Дякую, що мені це послужило. Ура

  23.   Гамерц - сказав він

    Простий та ефективний. Чудовий підручник для нових 🙂

  24.   Луїс Карлос - сказав він

    Привіт, я дуже мало знаю про сценарії, і я не знаю, чи плутаю я поняття, але те, що я намагаюся зробити, це на такій веб-сторінці:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Справа в тому, що я насправді не розумію, як запустити цей код або якщо це замінює IPTABLES. І якщо він замінить його, як це було б так, що він автоматично запускається з ОС.

    Грекіас

  25.   Cris - сказав він

    Приголомшливий Гаара !!!

    Я почав робити домашнє завдання, як ти пояснив, і це спрацювало !! Дякуємо, що знайшли час і поділились своїми знаннями про вихід з темряви з невігласами.

    😉

  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
    кріплення -o перемонтувати, ro /

    , Я запускаю його вручну в терміналі, і якщо він працює, але коли я хочу, щоб файл запускався, він не хоче.

  28.   Луїкс - сказав він

    Я знайшов це на vivaolinux.com.br, це чудово

    #! / бін / баш

    На основі Gera.sh - Gera cabeçalho для сценаріїв

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

    Електронна пошта: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Приклад використання: script_name my_script

    Ви також можете вказати розширення, відповідність або інтерпретатор.

    Наприклад: nome_script backup.sh для інтерпретатора "sh"

    або nome_script backup.tcl для інтерпретатора 'tcl', а також для дня!

    Визначивши перекладача, якого ви можете (замінити іншим!):

    ІНТЕРПРЕТЕР = »#! / Bin / sh»

    Вміст заголовка (змінюйте як завгодно!):

    ІНФО = »##»
    ТВОРЕЦЬ = »## Написав:»
    EMAIL = »## Електронна пошта: you@correo.com»
    DISTRO = »##»

    Перевірка, чи вказав користувач ім’я сценарію:

    якщо [$ # -eq 0]; тоді
    echo ">>> Використання: $ (базове ім'я $ 0)"
    вихід
    fi
    якщо [$ # -ge 2]; тоді
    echo "Ім'я з пробілами не є дійсним!"
    вихід
    fi

    Чи може користувач писати в поточний каталог?

    якщо [! -w $ PWD]; тоді
    echo "Немає дозволу писати поточний каталог!"
    вихід
    fi

    Що робити, якщо в поточному каталозі є інший сценарій з такою ж назвою?

    якщо [-f $ 1]; тоді
    echo "У цьому каталозі вже існує сценарій з такою ж назвою!"
    вихід
    fi

    Тіло сценарію:

    (
    кішка << КІНЕЦЬ
    $ ІНТЕРПРЕТЕР

    $ ІНФОРМАЦІЯ
    $ ТВОРЕЦЬ
    $ EMAIL
    $ ДИСТРО

    Тепер додайте команди в наступних рядках =)

    Дата створення цього сценарію: $ (дата «+% 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.   Вісенте - сказав він

    Дуже хороший підручник, простий, і це мені дуже допомогло, дякую

  30.   Калічі - сказав він

    Шановний KZKG, я новачок, але мені цікаво вчитися.
    У вас є інший сценарій. Або раптом у тому місці, де я працюю, я хочу відкрити такий, який зібраний, і я його не бачу.
    Будь-які ідеї.

  31.   Калічі - сказав він

    Мені потрібна допомога зі сценарієм. Він складений.

  32.   cool9 - сказав він

    Я зрозумів про bash, але якщо я хочу зробити автоматичний псевдонім, він не вийде

  33.   ангісарит - сказав він

    Щиро вдячний Вам за допомогу.

    Я хотів би знати, чи можете ви зробити мені величезну послугу, мені потрібно створити сценарій, який допоможе мені створити .sum в певний час, але я не знаю, як його параметризувати. Можливо, ви зможете допомогти мені з деякими вказівками. Дякую, і я буду уважний, якщо ви можете мені допомогти.

    привіт

  34.   Хосе - сказав він

    Привіт, добрий день, подивіться, я роблю роботу в lex, тому я хотів би, якщо ви допоможете мені сценарій, за допомогою якого я можу запустити файл lex, той, який генерує lex (lex.yy.c) та файл введення даних.

    Велике спасибі

  35.   Вілмер Рон - сказав він

    крес-салат дякую док !!! Я новачок у сценарії, велике спасибі, вітаю, я буду на сторожі з вашим новим навчанням !!!!

  36.   Карен Вега - сказав він

    Гола !!!

    Щиро дякую за ваш внесок, я починаю входити в unix, і рідко хтось пояснює цей універсум коду таким простим способом. Я хотів би запитати вас, чи можу я за допомогою вашої процедури створити скрипт, який допоможе мені знайти n кількість файлів, що знаходяться в одному шляху, і що я скопіюю їх в іншу папку ... хтось сказав мені, що я можу зберігати в txt шлях та ім'я моїх файлів, але мені незрозуміло, як це зробити. Я залишаюся уважним.

    Привіт!

  37.   Ейбар Амая - сказав він

    Привіт, у мене є VPS, але мені потрібна допомога в деяких речах. Орієнтуюсь я сам. Мене цікавить, як створити сценарій чи щось інше, щоб я запустив самостійне резервне копіювання всього, що знаходиться в моїй / кореневій папці, і це резервне копіювання запускається кожні 1 годину, якщо я не могли б ви допомогти в цьому, я б вас надто вдячний у цьому

    Я залишаю вам свій facebook, якщо ви хочете мені допомогти, мені потрібна велика допомога 🙂

  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