Bash pierwszy skrypt

Tutaj można zadać pytanie, jeśli Linuksa widzi się pierwszy raz w życiu ;)
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Bash pierwszy skrypt

Post autor: wiktor1984 »

Witam
Moja przygoda z linuksem zaczeła się dopiero od wczoraj:)
Mam zainstalowanego Ubuntu 14.04
Mam ogólne pojęcie o pisaniu skryptów php ale pod windowsem a tu się troche gubie i miałbym pytanie.

Napisałem sobie mały skrypt w bashu no raczej skopiowałem z jakiejś strony

Kod: Zaznacz cały

#!/bin/bash
echo $1
date +%H:%M:%S
whoami 
Zapisałem tak jakby chyba w "notatniku" dałem właściwości i zaznaczyłem opcje zezwolenie na wykonywanie pliku jako programu
ale po kliknięciu otwiera się sam tekst w tym notatniku a nie wywołuje skryptu.
Mógłby mi ktoś wytłumaczyć tak na chłopski rozum co i jak trzeba zrobić aby skrypt się wykonał
Jak na kogoś kto pierwszy raz widzi Linuxa dosłownie proste rzeczy sprawiają tu problemy
Awatar użytkownika
enedil
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1352
Rejestracja: 08 wrz 2012, 16:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: i3
Architektura: x86_64
Kontakt:

Re: Bash pierwszy skrypt

Post autor: enedil »

Jeżeli znasz angielski, to łap linka ~> http://askubuntu.com/questions/286621/h ... n-nautilus
Jeżeli nie, to napisz, pomożemy ;-)
Dobrze jest, psiakrew, a kto powie, że nie, to go w mordę!

~moderatorzy
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

witam angielski nie za bardzo ale dałem sobie tłumaczenie google
I już w pierwszym punkcie się pogubiłem otworzyłem Nautilusa ale wygląda całkiem inaczej niż w opisie co podałeś linka

Próbowałem również zainstalować dconf-editor
według opisu Naciśnij Alt + F2, wpisz dconf-editor i naciśnij Enter.
Ale też nic z tego
Awatar użytkownika
enedil
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1352
Rejestracja: 08 wrz 2012, 16:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: i3
Architektura: x86_64
Kontakt:

Re: Bash pierwszy skrypt

Post autor: enedil »

Chodziło mi o pierwszą odpowiedź:
Open Nautilus.

Open this from the menu bar:

Edit → Preferences

Select the 'Behavior' tab.

Select "Ask each time" under "Executable Text Files".

Close the window.
Now you can double-click your executable text file in Nautilus to be asked whether to execute or edit your script.
Czyli po naszemu:
Otwórz Nautilus.

Otwórz to z paska menu:
Edycja -> Preferencje

Wybierz zakładkę "Zachowanie".

Wybierz "Pytaj za każdym razem" przy polu "Wykonywalne pliki tekstowe"

Zamknij okno.
(...)
Dobrze jest, psiakrew, a kto powie, że nie, to go w mordę!

~moderatorzy
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

Ok dzięki udało się dopiero teraz zrozumiałem że nautilus to odpowiednik explorera.
Przy otwieraniu plików mam 3 opcje do wyboru
-wykonaj w terminalu
-wyświetl
-uruchom

W opcji "wyświetl" mogę edytować skrypt
Niestety jeśli kliknę "uruchom" lub "wykonaj w terminalu" skrypt się nie wykonuje

Na przykład taki oto skrypcik:

Kod: Zaznacz cały

#!/bin/bash
echo "Pierwszy program"
Moim zdaniem powinno się otworzyć jakieś okno z napisem Pierwszy program a nic takiego się nie dzieje?
Awatar użytkownika
enedil
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1352
Rejestracja: 08 wrz 2012, 16:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: i3
Architektura: x86_64
Kontakt:

Re: Bash pierwszy skrypt

Post autor: enedil »

Otwiera się okno terminala, następnie wypisuje się na ekran napis Pierwszy program, w momencie w którym skończy pisać, to zamyka okno terminala.
Dobrze jest, psiakrew, a kto powie, że nie, to go w mordę!

~moderatorzy
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

Terminal mi się załączał ale zaraz wyłączał nie zdążyłem nawet nic w nim przeczytać myślałem że coś jest nie tak.
Ok pozostało mi już tylko bawić się bash-em podziękował
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Bash pierwszy skrypt

Post autor: jacekalex »

Kod: Zaznacz cały

 #!/bin/bash
     echo $1
     date +%H:%M:%S
     whoami
     read argument;
      exit 0;
Tak poczeka z zamknięciem terminala na naciśnięcie Enter.
:twisted:

A tu conieco o Bashu:
http://www.gentoo.org/doc/pl/articles/b ... ple-p1.xml
http://www.gentoo.org/doc/pl/articles/b ... ple-p2.xml


Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

jacekalex pisze:

Kod: Zaznacz cały

 #!/bin/bash
     echo $1
     date +%H:%M:%S
     whoami
     read argument;
      exit 0;
Tak poczeka z zamknięciem terminala na naciśnięcie Enter.
:twisted:

A tu conieco o Bashu:
http://www.gentoo.org/doc/pl/articles/b ... ple-p1.xml
http://www.gentoo.org/doc/pl/articles/b ... ple-p2.xml


Pozdro
:craz:
Ok teraz fajnie wszystko widać i dzięki za linki
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Bash pierwszy skrypt

Post autor: norvoles »

Terminal mi się załączał ale zaraz wyłączał nie zdążyłem nawet nic w nim przeczytać myślałem że coś jest nie tak.
Żeby nie mieć takich problemów najlepiej uruchamiać taki skrypt prosto z terminala.
Po zapisaniu takiego skryptu w pliku np. skrypt.sh, musisz następnie nadać mu uprawnienia do wykonania:

Kod: Zaznacz cały

chmod +x skrypt.sh
i uruchomić:

Kod: Zaznacz cały

./skrypt.sh
Nic nie będzie znikać i się zamykać.

Musisz jeszcze pamiętać, żeby w terminalu znajdować się we właściwym katalogu.
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

Ten kod zatzrymuje zamykanie okna w bashu

Kod: Zaznacz cały

read argument;
exit 0;
A jak to zrobić w perlu???

Chwilowo testuje skrypty perla pod windows ale zaraz biore się za instalacje perla pod ubuntu

Kod: Zaznacz cały

c:/perl/bin/perl.exe
print "Hello, World!\n";
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Bash pierwszy skrypt

Post autor: jacekalex »

W Ubuntu Perl po prostu jest, nic dodatkowo instalować nie musisz.

Funkcja read w bashu nie zatrzymuje zamykania terminala, tylko czeka na podanie argumentu z klawiatury, ktory przypisuje do zmiennej, którą potem można użyć w programie.
Blokowanie zamknięcia termianla, to jest skutek uboczny oczekiwania na wpisanie parametru.

W Perlu jej odpowiednikiem (jednym z wielu) jest funkcja promptUser()

Sznurek:
http://alvinalexander.com/perl/edu/articles/pl010005

Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

Kod: Zaznacz cały

#!/usr/bin/perl 
print "Pierwszy program\n";
$ Homedir = & promptUser ("Wprowadź katalog domowy");
Powinien wyskoczyć ekran z napisem Wprowadź katalog domowy: _
A dalej okno się zamyka robię coś nie tak ale co to nie wiem???
Ten skrypt już pod ubuntu

Skrypt zapisałem na pulpicie próbowałem uruchomić go z terminala i Pierwszy program ładnie się wyświetla ale w 3 lini mam jakiś błąd
Awatar użytkownika
enedil
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1352
Rejestracja: 08 wrz 2012, 16:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: i3
Architektura: x86_64
Kontakt:

Re: Bash pierwszy skrypt

Post autor: enedil »

Perl może być niezbyt przydatny dla początkującego. Odstraszać może liczba sposobów na wykonani jednej czynności. Jest taki cytat (trochę na wyrost):
Perl to jedyny język w którym kod źródłowy jest tak samo czytelny przed jak i po szyfrowaniu.
Ja od siebie bardzo polecam Rubiego. Ma bardzo czytelną składnię. Przykład programu czekajacego na wejście wygląda tak:

Kod: Zaznacz cały

#!/usr/bin/env ruby
puts "Pierwszy program"
puts "Wprowadź katalog domowy:"
homeDir = gets
Ruby, jak można się domyślić, jest w pakiecie "ruby"
Dobrze jest, psiakrew, a kto powie, że nie, to go w mordę!

~moderatorzy
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Bash pierwszy skrypt

Post autor: jacekalex »

Kod: Zaznacz cały

#!/usr/bin/perl
use warnings;
use strict;
use IO::Prompt;

print "Pierwszy program\n";
my $homedir = prompt("Enter the home directory:  ");
print "$homedir\n";
Potrzeba modułu IO::Prompt (ja musiałem go zainstalować przez cpan), w tej wersji działa.
Funkcja konkretnie nazywa się prompt().
Sznurek
http://search.cpan.org/~dconway/IO-Prom ... /Prompt.pm

Jest też prostsza metoda na bazie samego stdin (nie trzeba dodatkowych modułów) - sznurek:
http://www.tizag.com/perlT/perluserinput.php

Przy okazji, Perl to nie Bash, choć specjalnie trudny nie jest, to składnię ma mocno inną. ;-)
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Awatar użytkownika
wiktor1984
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 06 sie 2014, 19:07
Płeć: Mężczyzna
Wersja Ubuntu: 14.04

Re: Bash pierwszy skrypt

Post autor: wiktor1984 »

Najtrudniejsze w tym wszystkim to to że nie ma w sieci za dużo torturiali do perla basha itp.
Tak jak np do php, Najgorzej jest na początku aby obczaić co i jak, później już z górki.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Bash pierwszy skrypt

Post autor: jacekalex »

Nie ma do Perla?

Są całe setki, tylko przeważnie po angielsku.
W Perlu każdy moduł na stronie cpan ma dokumentajcę i przykład użycia, jest też parę miejsc takich jak np perlmonks czy stackoverflow, gdzie też można o każdym module conieco wyczesać.

Tu masz całą dokumetację:
http://perldoc.perl.org/
Tu moduły:
http://search.cpan.org/
A tu conieco po polskiemu:
http://pl.wikibooks.org/wiki/Perl
http://www.kt.agh.edu.pl/perl-faq/

Takze skombinuj sobie lepszą podkładkę pod mysz, bo ta chyba jest niekompatybilna z powszechnie używanymi szukajkami. :twisted:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
ODPOWIEDZ

Wróć do „Przedszkole Linuksa”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 18 gości