Bash: Jak zrobić skrypt wykonywalny

Chcę stopniowo umieszczać artykuły BashCóż, mam wystarczająco dużo materiału, aby nauczyć Cię krok po kroku wskazówek, tworzyć skrypty i wiele więcej, aby nasze codzienne zadania były automatyczne, więc oczywiście zaoszczędzi nam to dużo czasu

Teraz pokażę Ci podstawy, o czym zawsze będziesz potrzebować wiedzieć, a to pomoże mi w dalszej części tutoriali 😉

Jak zrobić skrypt .sh?

Proste ... bardzo proste 😀

1. Otwórz terminal, w nim wpisz następujące polecenie i naciśnij [Wchodzić]:

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

To wystarczy, aby utworzyć dla nich plik skrypt.sh w jej folder osobisty.

2. W terminalu umieść:

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

3. Gotowy, masz gotowy skrypt 😀

Jeśli go otworzymy, będziemy mieli coś takiego:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Po tej drugiej linii instrukcje są zapisywane z tego miejsca.

Na przykład poprosimy Cię o pokazanie nas w terminalu «<° Linux jest najlepszy»😀

Otrzymalibyśmy następujący skrypt:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Jak uruchomić lub przetestować skrypt .sh?

1. Musimy przejść do folderu, w którym znajduje się skrypt, w poprzednim przykładzie byłby to nasz folder osobisty, więc otwieramy terminal, w nim piszemy następujący tekst i naciskamy [Wchodzić]:

cd $HOME

2. Teraz wykonujemy go, umieszczając kropkę i ukośnik (po którym następuje), a następnie nazwę skryptu, czyli:

./script.sh

I bingo, już to mamy 😀

Zrób to, a zobaczysz ...

Teraz ważny szczegół, na końcu zawsze powinni umieścić «wyjście«

No cóż, nic więcej do dodania, po prostu poczekaj na przyszłe samouczki, tutaj się nauczysz bash HA HA.

pozdrowienia


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

57 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Oscar powiedział

    Dzięki przyjacielu, zawsze byłem ciekawy, jak zrobić skrypt.sh, teraz czas się uczyć, będę czekał na kolejne tutoriale.

    1.    KZKG ^ Gaara <"Linux powiedział

      Nie, przyjemność hehe 😀
      Zobaczysz ... krok po kroku będę umieszczać samouczki Bash, aby zobaczyć, czy ktoś jest podekscytowany, uczy się i wszyscy stajemy się lepsi HAHA.

      pozdrowienia

      1.    jose powiedział

        Cześć, potrzebowałbym twojej pomocy, gdybyś mógł mi pomóc z kilkoma scenariuszami, które utknąłem i muszę zrobić dla tematu, bardzo chciałbym się ze mną skontaktować.
        Dziękuję bardzo z góry

  2.   brązowy powiedział

    Ach, śmiertelniku !! świetnie 😉

    1.    KZKG ^ Gaara <"Linux powiedział

      Dzięki 😀
      Pamiętaj, że skargi lub sugestie zawsze będą dobrze odbierane

  3.   taregon powiedział

    Podobał mi się ten post, kiedy potrzebuję nagłówka skryptu, zaczynam nawigować tylko po to, aby znaleźć wiersz: "#! / Bin / bash" w nagłówku (jestem bardzo zapominalski). Teraz z tym wkładem mogę dodać adnotacje i po prostu skopiować i wkleić 😀

    1.    KZKG ^ Gaara <"Linux powiedział

      Pamiętaj, że to jest / bash i / sh ... jest inaczej haha, kiedyś spędziłem 2 dni walcząc ze skryptem, który nie działał u mnie tak, jak powinien, a to dlatego, że wstawiłem sh zamiast bash 😀

      Wszelkie pytania, które nam powiesz.
      pozdrowienia

  4.   xfraniuks powiedział

    Jaajajajajaja i to jest najprostsze, możesz też otworzyć gedit lub dowolny edytor i skopiować:

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

    A potem dajemy mu uprawnienia do wykonywania….

    bardzo dobre dane .. pozdrawiam

    1.    KZKG ^ Gaara <"Linux powiedział

      hehe tak, to można było zrobić w ten sposób, ale nie wiem ... Pomyślałem, że prościej byłoby zrobić kopiowanie / wklejanie dwóch wierszy (które faktycznie mogą być jednym) i to wszystko, przygotuj skrypt z uprawnienia do wykonywania i nagłówek 😀

    2.    Bertholdous powiedział

      Witam, czy skrypty powinny być zawsze zapisywane jako plik .sh?

      W Windows podobnie wyglądałyby pliki .bat. A jeśli chodzi o ich pisanie, wyglądają trochę prościej.

  5.   Lucas Matias powiedział

    Bardzo dobrze

    1.    KZKG ^ Gaara <"Linux powiedział

      Dzięki 😀

  6.   Arturo Molina powiedział

    Z niecierpliwością czekam na następny post i na chwilę odnotowuję.

    1.    KZKG ^ Gaara <"Linux powiedział

      😉
      Jakieś sugestie, scenariusz, który mam zrobić, czy coś? 😀

  7.   Odwaga powiedział

    Czy to ten, który nie wie, jak programować? Chociaż jest to łatwe, to programowanie

    1.    KZKG ^ Gaara <"Linux powiedział

      HAHAHA daj spokój ... jesteś podekscytowany? ... naucz się trochę Basha, zobaczysz jakie to świetne, nie musisz umieć programować, a tym bardziej

      Co mówisz?

      1.    Odwaga powiedział

        Będę, dzisiaj nie jestem za tym

  8.   anonimowy powiedział

    W rzeczywistości, jeśli skrypty mają być tworzone regularnie, samo zadanie można również zautomatyzować za pomocą skryptu takiego jak poniższy (jest on kopiowany tylko do $ home / bin / i otrzymuje uprawnienia do wykonywania)


    #!/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

    W ten sposób, jeśli biegniesz nowy skrypt bez parametrów utwórz $ home / script.sh, ale jeśli działa nowy skrypt inny skrypt, tworzy ./otherscript

  9.   Ramzes powiedział

    Witaj przyjacielu, chciałbym wiedzieć, jak mogę utworzyć autorun dla sdcard i czy jest on odczytywany przez mój telefon z Androidem i że po jego uruchomieniu uruchamiam abd.exe plus polecenie bugreport> bugreport.txt

    1.    KZKG ^ Gaara powiedział

      Nie mam pomysłu przyjacielu ... Nigdy nie używałem Androida.

  10.   Neo61 powiedział

    Dzięki gaara, chciałem znaleźć miejsce, w którym mógłbym się nauczyć kilku skryptów, myślę, że w e-mailu wspomniałem o tym, czego naprawdę muszę się nauczyć. Postępowałem zgodnie z instrukcjami, które szczegółowo opisujesz i wszystko jest idealne, ale nie działa, rozumiem:

    ./script.sh: line 5: Nieoczekiwany EOF podczas wyszukiwania pasującego „» ”
    ./script.sh: wiersz 9: błąd składniowy: nie oczekiwano końca pliku

    Wyjaśnij mi, jaki jest mój błąd

    1.    KZKG ^ Gaara powiedział

      Moja wina, WordPress zmienia pewne szczegóły, spójrz jeszcze raz na kod w poście i umieść go w swoim skrypcie.
      Co się dzieje:

      „Asd”

      To nie to samo, co:
      "asd"

  11.   Neo61 powiedział

    Nie rozumiem, nadal widzę to samo. Gdzie jest zmiana? Czy mógłbyś mi lepiej wyjaśnić? Teraz, gdy wykonasz polecenie, zostanie wyświetlona ta linia:
    ./script.sh: line 5: °: plik lub katalog nie istnieje

    1.    KZKG ^ Gaara powiedział

      Podaj mi skrypt, który uruchamiasz, umieść kod tutaj: http://paste.desdelinux.net
      Spójrz jeszcze raz na wpis, to że zapomniałem kliknąć przycisk Aktualizuj 😀

  12.   Neo61 powiedział

    Cześć Partnerze:
    Powiem ci, że patrzyłem na skrypt conkyrc, który stworzyłeś dla swojego conky 2010 i tak, to prawda, symbol dysku należy do źródła o nazwie Poky, ale nie pojawia się domyślnie w libreOffice w Ubuntu 12.04, bądź dobry, jeśli masz to źródło, powiedz mi, skąd mogę je pobrać (coś naprawdę trudnego), jedna rzecz, o której zdałem sobie sprawę, to to, że kiedy litery tych symboli są umieszczone, a czcionka nie istnieje w system, wtedy stawia literę, a nie symbol, to jest logiczne, już rozumiem jak wszystko działa, ale potrzebuję kogoś, kto mi wyjaśni, żeby lepiej to zrozumieć, wszystko co robię to dedukcja i nigdy nie dałem żadnego programowania, to nie informatyka studiowałem A także, to był inny czas, mam informatykę jako hobby i dobre jest to, że pracuję w jednej z jej gałęzi, wszystko czego się nauczyłem ma był samoukiem, więc interesuję się kimś, kto choćby krok po kroku mnie prowadzi. tutaj jest też skrypt mojego conky i wyjaśnię, czego nie dostaję:

    Słuchaj, kiedy próbuję włożyć inny dysk twardy, wciąż otrzymuję ten sam, ponieważ daje tę samą wartość temperatury. Nie dostaję charakterystyki procesora w systemie, wychodzi (NULL) pogrubioną czcionką, gdy próbuję wstawić kalendarz, który włożyłeś do Conky, że tanias w 2010 jest zdezorganizowany i poszerza pasek conky. Zobacz wszystkie ulepszenia, które możesz wprowadzić. Podoba mi się ta szerokość, którą mam i twój kalendarz dostosowuje się do tej szerokości i że wszystko, co ci powiedziałem, a nie pokazuje, wychodzi, oto idzie:

    http://paste.desdelinux.net/4552

    –Wstaw kod w naszej wklejce, aby komentarze nie były tak obszerne–

  13.   GONZALO powiedział

    prawda jest taka, że ​​twój wkład jest godny pożałowania

  14.   Edgar powiedział

    Witam, ułatwiłeś mi życie tym skryptem. Bardzo dziękuję za to, że chciałbym wiedzieć, czy możesz wysłać mi e-mail z opisem, ponieważ jestem nevo w programowaniu.
    dzięki

    1.    KZKG ^ Gaara powiedział

      Witam,
      Lepiej, żebym nie był w stanie opisać / wyjaśnić tych linii kodu, czego nie zrozumiałeś, aby wyjaśnić w inny sposób?

      Podobnie, jeśli masz wątpliwości, zawsze możesz zapytać na naszym forum: forum.desdelinux.net

      Pozdrowienia 😀

  15.   Zaprzestać powiedział

    Dobry wkład, ale możesz to podsumować ... Potrzebuję scenariusza sai. To znaczy, kiedy Sai zdaje sobie sprawę, że jest na baterii i ma 20 minut na wyłączenie, wysyła sygnał do urządzenia, które musi wykonać skrypt, aby wyłączyć niektóre serwery. Nie wiem, czy dobrze się wytłumaczyłem ... Valdria, wstawiając twój skrypt «shutdown -h» ??

    Dziękujemy!

  16.   Jezus Izrael Perales Martinez powiedział

    Coś jeszcze do dodania do mojego folderu szablonów: B.

  17.   Edward powiedział

    Czy ktoś mógłby mi pomóc? Potrzebuję skryptu dla Ubuntu, który jeśli zamkniemy przeglądarkę Chrome, otwórz ją ponownie

    Z góry dziękuję

  18.   edo powiedział

    Potrzebuję skryptu, który po jego wykonaniu nadpisze informacje z pliku innym tekstem, czy ktoś wie, jak to jest?

    1.    edo powiedział

      Widziałem już, że powyżej mówią, jak to zrobić

  19.   Dario powiedział

    Bardzo dobrze, doskonałe dla moich wnuków.
    Tysiąc dzięki. »Poza tym, że wielu młodych ludzi było nauczycielami… byłoby wspaniale.

  20.   Roman PC powiedział

    Prosty i funkcjonalny, tak jak powinien.

    Dziękuję za dzielenie się.

    Pozdrowienia.

  21.   Hernan Jaramillo powiedział

    Dzięki za pomoc. To było przydatne, bardzo dobre wyjaśnienie.

  22.   Vicen powiedział

    Dziękuję, że mi to służyło. pozdrowienia

  23.   Gamerz powiedział

    Proste i skuteczne. Świetny poradnik dla początkujących 🙂

  24.   Luis Carlos powiedział

    Witam, wiem bardzo mało o skryptach i nie wiem, czy mylę koncepcje, ale to, co próbuję zrobić, jest na następującej stronie internetowej:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Chodzi o to, że tak naprawdę nie rozumiem, jak uruchomić ten kod lub czy zastępuje IPTABLES. A jeśli zastąpi go tak, jakby był, aby uruchamiał się automatycznie z systemem operacyjnym.

    dzięki

  25.   Cris powiedział

    Wspaniała Gaara !!!

    Zacząłem odrabiać lekcje, jak wyjaśniłeś i zadziałało !! Dziękuję za poświęcenie czasu i podzielenie się swoją wiedzą, aby wyjść z ciemności z ignorantami.

    😉

  26.   Lew powiedział

    Witam, mam jakieś pytania do zrobienia skryptu, który tworzy użytkownik, czy możesz mi pomóc?

  27.   młody powiedział

    witam mam pytanie z plikiem .sh
    czy masz na to jakikolwiek sposób
    Skontaktowałem się z tobą, żeby sprawdzić, czy robię to dobrze?

    #! / 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 /

    , Uruchamiam go ręcznie w terminalu i jeśli to działa, ale kiedy chcę, aby plik został uruchomiony, nie chce.

  28.   Luix powiedział

    Znalazłem ten na vivaolinux.com.br, jest świetny

    #! / bin / bash

    Na podstawie Gera.sh - Gera cabeçalho dla skryptów

    Scenariusz: Sandro Marcell P.Barbosa (Boa Vista - Roraima)

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Przykład użycia: nazwa_skryptu moj_skrypt

    Możesz również określić rozszerzenie, zgodność lub interpretację.

    Np .: nome_script backup.sh dla interpretera o 'sh'

    lub nome_script backup.tcl dla interpretera „tcl”, a także na cały dzień!

    Zdefiniowanie tłumacza możesz (zastąpić innym!):

    INTERPRETER = »#! / Bin / sh»

    Treść nagłówka (zmień, jak chcesz!):

    INFO = »##»
    CREATOR = »## Autor:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Sprawdzanie, czy użytkownik podał nazwę skryptu:

    if [$ # -eq 0]; następnie
    echo ">>> Użycie: $ (basename $ 0)"
    wyjście
    fi
    if [$ # -ge 2]; następnie
    echo "Nazwy ze spacjami są nieprawidłowe!"
    wyjście
    fi

    Czy użytkownik może pisać w bieżącym katalogu?

    Jeśli [! -w $ PWD]; następnie
    echo "Brak uprawnień do zapisywania bieżącego katalogu!"
    wyjście
    fi

    A co, jeśli w bieżącym katalogu znajduje się inny skrypt o tej samej nazwie?

    jeśli [-f $ 1]; następnie
    echo "Skrypt o tej samej nazwie już istnieje w tym katalogu!"
    wyjście
    fi

    Treść skryptu:

    (
    kot << END
    $ TŁUMACZ

    $ INFO
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Teraz dodaj polecenia w kolejnych wierszach =)

    Data utworzenia tego skryptu: $ (data «+% a% d /% m /% Y») o $ (data «+% T»)

    PŁETWA
    )> 1 $

    Ustawianie uprawnień do wykonywania:

    jeśli [-f $ 1]; następnie
    chmod + x $ 1 2> / dev / stdout
    echo "Skrypt $ 1 został utworzony i może być wykonywany!"
    fi

    Data utworzenia tego skryptu: 29 01:2013:19

    1.    Debianistrowler powiedział

      Świetnie, działa idealnie !!!

  29.   Vicente powiedział

    Bardzo dobry tutorial, prosty i bardzo mi pomógł, dzięki

  30.   Calichi powiedział

    Drogi KZKG Jestem nowicjuszem, ale interesuje mnie nauka.
    Masz inny skrypt. Albo nagle w miejscu, w którym pracuję, chcę otworzyć taki, który jest skompilowany i nie mogę go zobaczyć.
    Jakiś pomysł.

  31.   Calichi powiedział

    Potrzebuję pomocy przy scenariuszu. Jest kompilowany.

  32.   cool9 powiedział

    Zrozumiałem o bashu, ale jeśli chcę stworzyć automatyczny alias, to nie wychodzi

  33.   angiesarita powiedział

    Bardzo dziękuję za pomoc przyjaciela.

    Chciałbym wiedzieć, czy możesz mi zrobić wielką przysługę, muszę stworzyć skrypt, który pomoże mi stworzyć .sum w określonym czasie, ale nie wiem, jak to sparametryzować. Możesz mi pomóc, przekazując kilka wskazówek. Dziękuję i będę uważny, jeśli możesz mi pomóc.

    pozdrowienia

  34.   José powiedział

    Witam, dzień dobry, słuchaj, pracuję w lex, więc chciałbym, żebyś mi pomógł ze skryptem, za pomocą którego mogę uruchomić plik lex, ten, który generuje lex (lex.yy.c) i plik wejściowy danych.

    dziękuję bardzo

  35.   Wilmer Ron powiedział

    rukiew wodna dzięki doc! Jestem nowy w scenariuszu, bardzo dziękuję, pozdrawiam, będę na bieżąco z twoimi nowymi korepetycjami !!!!

  36.   Karen vega powiedział

    Witaj!

    Dziękuję bardzo za wasz wkład, zaczynam wchodzić w świat unixa i rzadko ktoś wyjaśnia ten wszechświat kodu w tak prosty sposób. Chciałbym cię zapytać, czy za pomocą twojej procedury mogę stworzyć skrypt, który pomoże mi znaleźć n liczbę plików, które znajdują się w tej samej ścieżce i że skopiuję je do innego folderu ... ktoś powiedział mi, że mogę przechowywać w txt ścieżkę i nazwę moich plików, ale nie jest dla mnie jasne, jak to zrobić. Pozostaję uważny.

    Pozdrowienia !!

  37.   Eibar Amaya powiedział

    Witam, mam VPS, ale potrzebuję pomocy z niektórymi rzeczami orita sam Jestem zainteresowany tym, jak utworzyć skrypt lub coś takiego, aby wykonać kopię zapasową wszystkiego, co znajduje się w moim folderze / root, i ta kopia zapasowa jest wykonywana co 1 godzinę, jeśli ja czy mógłbyś w tym pomóc, byłbym za bardzo wdzięczny za to

    Zostawiam Ci mojego facebooka, jeśli chcesz mi pomóc, potrzebuję dużo pomocy 🙂

  38.   Jorge Rodriguez powiedział

    utwórz mi jeden, aby pingować i monitorować określone urządzenia sieciowe w firmie
    ale uczyniłem to prostym

    dotknij red.sh && chmod + x red.sh
    wyrzucił '# -- KODOWANIE: UTF-8 -- '>> red.sh
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    uruchom go ./red.sh i dobrze

  39.   Guillermo powiedział

    Drogi, potrzebuję stworzyć skrypt automatycznej instalacji. Jestem gotów zapłacić za dobrze wykonaną pracę. Zainteresowanych wyślij mi e-mail na adres carranzalh@gmail.com. Dzięki

  40.   sAry powiedział

    ssą mojego kutasa XD

  41.   Hdexz powiedział

    Dzień dobry przyjacielu, czy mógłbyś mi w czymś pomóc
    Muszę zrobić kopię zapasową z linuxem firmy, ponieważ jest bezpieczniejsza, aby wirusy jej nie złapały, ale nie wiem, jak to zrobić
    Muszę stworzyć skrypt, który zapakuje pliki i wyśle ​​je na ftp

    Z góry byłbym wdzięczny za napisanie na mój e-mail

    cesarloscor@gmail.com