Bash – „programowanie” przy użyciu terminalu

Specjalnie użyłem stwierdzenia „programowanie„, gdyż bash nie jest językiem programowania:

Bash to jedna z najpopularniejszych powłok systemów uniksowych. Jest domyślną powłoką w większości dystrybucji systemu GNU/Linux oraz w systemie Mac OS X w wersji 10.4 Tiger, istnieją także wersje dla większości systemów uniksowych. Bash jest także domyślną powłoką w środowisku Cygwin dla systemów Win32.

Źródło: wikipedia.org

1. W przeciwieństwie do Pythona, interpreter poleceń jest już zainstalowany, więc zacznij od razu od stworzenia pliku z rozszerzeniem *.sh:

gedit plik_zrodlowy.sh

2. Pamiętaj, że skrypty w Bashu powinny zaczynać się linijką:

#!/bin/bash

3. Po zakończonej pracy zapisz plik (CTRL+S) i nadaj mu prawa do uruchomienia:

chmod +x plik_zrodlowy.sh

4. Pora na uruchomienie pliku:

./plik_zrodlowy.sh
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • dawid_ek

    No widzisz a u mnie skrypty bash nie dzialaja. Sprawdzam powloke bash poleceniem echo $SHELL wyswietla sie /bin/bash wpisuje skrypt w pliku z rozszerzeniem *.sh o tresci: #!/bin/bash echo „tekst” napisane w pliku za pomoca polecenia cat > plik.sh uruchamiam go i komunikat bash:plik.sh: command not found. Dodam jeszcze ze pracuje na Ubuntu 9.04 i nie mam zielonego pojecia co jest tak?? dzieki za pomoc.

  • http://ubuntu-pomoc.org Szmitas

    A chmody dobre? (punkt 3.)

  • http://jaack.4shared.com jaack

    jak by kto nie wiedział, to w gnome klikamy plik *.sh prawym, właściwości, uprawnienia, zaznaczamy opcję „Zezwolenie na wykonanie pliku jako programu” i później dwuklik (z resztą tak jak po chmod.

  • http://www.mtomczyk.net mt

    Oczywiście, że jest coś takiego, jak język programowania powłoki Bash.

    Dlatego nie musisz pisać „programowanie” w cudzysłowach, gdyż pisanie skryptów bash jest pisaniem prostych programów.