Strona 1 z 1
[+] Uruchamianie skryptu przez ssh
: 09 maja 2009, 19:46
autor: matz
Witam.
Mam pewien problem (dla was pewnie jest to bardzo łatwe pytanie) jednak nie wiem
o co może chodzić?
Mam Debiana. Próbuję przez ssh uruchomić jakieś skrypty, lecz każdy który próbuję odpalić, wcześniej nadałem mu prawa wykonywalne:
po prostu informuje mnie komunikatem, że nie ma takiego pliku ani katalogu.
Kod: Zaznacz cały
-bash: ./demaffa: /bin/sh^M: bad interpreter: Nie ma takiego pliku ani katalogu
Mimo tego skrypt ,,demaffa'' jest w katalogu, gdzie jestem.
Dlaczego?
: 09 maja 2009, 20:02
autor: tomii
Sprawdź czy masz podaną odpowiednią ścieżkę do interpretera(bash lub sh) podaną?
: 09 maja 2009, 20:08
autor: matz
Można jaśniej? Nie jestem zaawansowany w sprawach uniksowych?
: 09 maja 2009, 20:18
autor: tomii
A spróbuj wpisać na początek:
i powiedz czy działa?
: 09 maja 2009, 20:56
autor: sigo
Najprawdopodobniej edytujesz skrypt za pomocą
mcedit'a, który nie obsługuje końców linii niektórych edytorów.
Mam na myśli to, iż jeżeli początkowo napisałeś trochę kodu w innym edytorze, a następnie dokonałeś edycji i zapisałeś plik za pomocą w/w programu, to zapisałeś w dziwnym formacie/kodowaniu ten plik.
Pierwszą linią Twojego skryptu jest zapewne wskazanie na interpreter i już pierwsza linia jest
uszkodzona - dlatego dostajesz błąd:
Kod: Zaznacz cały
-bash: ./demaffa: /bin/sh^M: bad interpreter: Nie ma takiego pliku ani katalogu
Dokładnie mam na myśli ciąg znaków:
^M - w ten sposób mcedit oznacza
nieobsługiwane końce linii.
Kod: Zaznacz cały
istniejący interpreter - /bin/sh
nieistniejący interpreter - /bin/sh^M
By
naprawić ten problem wykonaj następujące kroki:
- 1. Otwórz skrypt w jakimś edytorze z gui (kate, kwrite, gedit, mousepad itp.) - bez problemu rozpozna końce linii.
2. Skopiuj zawartość pliku.
3. Usuń skrypt.
4. Utwórz plik skryptu.
5. Wklej do pliku treść skryptu, za pomocą wybranego edytora - nie zmieniaj go w przyszłości, by uniknąć podobnych błędów.
Przy okazji: nagłówek do skryptów w bashu, powinien wyglądać następująco:
: 09 maja 2009, 21:16
autor: matz
Aha. Ciekawe...
Przepraszam, ale nie jestem zbytnio obeznany w sprawach uniksowych, mam dostęp do maszyny przez ssh (putty). Niestety nie za bardzo znam te edytory, nawet nie wiem jak je wywołać.
: 09 maja 2009, 21:18
autor: sigo
Usuń plik a następnie utwórz i wklej skopiowaną zawartość za pomocą wybranego edytora - powinno pomóc.
Dodano: lub zastosuj się do rady tomii - najprościej.
: 09 maja 2009, 21:18
autor: tomii
Wpisz:
i poszukaj "^M" i usuń.
: 09 maja 2009, 23:18
autor: matz
Dobrze, działa.
Nie było w plikach żadnego ,,^M'' - przynajmniej nie znalazłem..
Usunąłem te skrypty, stworzyłem nowe (touch itp.). Edytowałem przez nano, dałem dobre uprawnienia i działa.
Dziękuję Panowie:
@tomii
@sigo
Można zamknąć temat.