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

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

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

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

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

привіт


57 коментарі, залиште свій

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

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

*

*

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

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

      Igual si te quedas con dudas siempre puedes preguntar en nuestro foro: foro.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