Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> walka z shell'e cdn.
czezz
post 15.12.2004, 12:37:31
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


Wiem, że teraz, za to pytanie, polecą w moją stronę pomidory i inne warzywa... ale nie potrafię dojść czemu się tak dzieje.

Wszyscy wiemy, że w SHELL'u ( nieważne jaka to powłoka BASH czy tcsh czy jakakolwiek inna ) polecenie "cd" służy do zmainy katalogu. Np cd home sprawi, że przejdziemy do katalogu /home.

Moje pytanie: czemu jeśli zapiszemy tą komendę do pliku (czyli np. cd home) i uruchomimy ten plik to polecenit to nie wykona się - nie zostanie zwrócony żaden błąd.
Jest to dla mnie nie wytłumaczalne. tongue.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
bregovic
post 15.12.2004, 13:18:40
Post #2





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

Ostrzeżenie: (0%)
-----


No wiec jesli w jakims skrypcie shella wpiszesz 'cd' to on zmieni folder - z tymze tylko w zakresie skryptu. Jesli wiec zalorzymy ze jestes w ~ i masz folder ~/tmp i masz skrypt x:
Kod
cd ./tmp
touch test

I wykonasz sh ./x to masz w ~/tmp plik o nazwie test.


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
czezz
post 15.12.2004, 14:21:03
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


aaa dzięki smile.gif cenna uwaga :]
Go to the top of the page
+Quote Post
czezz
post 16.12.2004, 09:00:36
Post #4





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


a właśnie! tak przy okazji.
#!/bin/bash


jaki ma to znaczenie i co się stanie jeśli będąc w bash'u nie poprzedze skryptu tym wierszem? Skoro na początku jest # to czy taki wiersz nie jest przypadkiem ignorowany. Jeśli będe w innej powłoce i wpiszę taki wiersz to jakie będzie to miało znaczenie przy wykonywaniu go ?
Go to the top of the page
+Quote Post
dr_bonzo
post 16.12.2004, 09:16:35
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
co się stanie jeśli będąc w bash'u nie poprzedze skryptu tym wierszem

Sprawdz, wyglada na to ze dziala.

Cytat
Skoro na początku jest # to czy taki wiersz nie jest przypadkiem ignorowany

Ale jest traktowany tez jako pierwszy wiersz pliku, ktory wskazuje powloke/program ktory ma go wykonac.

Cytat
Jeśli będe w innej powłoce i wpiszę taki wiersz to jakie będzie to miało znaczenie przy wykonywaniu go ?

Wskazanie powloki w skrypcie zapewnia poprawnosc wykonania skryptu na wypadek roznic w dzialaniu/skladni innych powlok.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
bregovic
post 16.12.2004, 10:34:10
Post #6





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

Ostrzeżenie: (0%)
-----


Cytat(serafin @ 2004-12-15 15:04:44)
Hehe nie zapominaj o:

Cytat
#!/bin/bash

Nie prawda tongue.gif Przecierz napisałem żeby wykonał:
Kod
sh ./x
A w tym wypadku nie trzeba deklaracji tongue.gif


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
dr_bonzo
post 16.12.2004, 13:00:34
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zgadza sie


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 09:52