Skocz do zawartości
Zaloguj się, aby obserwować  
swosmax

Odpalanie pliku w SSH

Polecane posty

Witam.

Napisałem prosty plik echo "hello world" i odpalam go w SSH.

 

Na jednym z serwerów odpalam go komendą:

./plik.sh

 

Natomiast na innym powyższe nie działa i muszę odpalać komendą:

sh plik.sh

 

Jaka jest różnica ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To zapewne popsułeś line endingi lub zapomniałeś sprecyzować interpretera (aka shebanga) na początku pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

właśnie plik jest dokładnie ten sam

 

#!/bin/bash

echo "Hello world"

 

Ten sam plik wrzucam na serwer nazwa.pl - wykonuje go poleceniem ./plik.sh

ale jak wrzucam na sewrer zenbox.pl - to powyższe polecenie nie działa, działa natomiast sh plik.sh

 

Korzystam z SSH jeśli to coś podpowie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pytam żeby rozumieć dlaczego taka różnica w odpalaniu tego samego pliku ? Skąd mam wiedzieć kiedy używać jednego polecenia a kiedy drugiego ? skoro we wszystkich tutorialach piszą żeby odpalać komendą ./

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wklej komunikat błędu, który dostajesz przy odpalaniu skryptu (2).

Ja obstawiam montowanie katalogu /home z atrybutami noexec albo jakąś restrykcyjną powłokę, która nie pozwala na uruchamianie nieautoryzowanych przez administratora binarek. Tak czy inaczej - to pytanie do BOK twojego hostingu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Precyzujesz odpalanie pliku przez /bin/bash, a odpalasz go przez sh, toteż taki argument nie ma sensu.

 

Odpal swój skrypt przez /bin/bash skrypt.sh i sprawdź czy działa, bo to definiujesz w swoim pliku.

 

/bin/sh bardzo często jest podlinkowane pod jakiś lżejszy niż bash interpreter, często dash. Ma to sens z punktu wydajności.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wklej komunikat błędu, który dostajesz przy odpalaniu skryptu (2).

 

Ten sam plik na nazwa.pl i na zenbox.pl ma te same uprawnienia: -rwxr--r--

 

Na nazwa.pl bez problemu odpala się komendą ./plik.sh

 

Natomiast na zenbox.pl przy tej samej komendzie wywala komunikat:

-bash: ./plik.sh: Permission denied

 

Ale da się odpalić komendą: sh plik.sh

 

Please niech mi to ktoś wytłumaczy :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zgodnie z komunikatem w zenbox jest zablokowana powłoka bash do uruchamiania skryptów.

 

sprawdź co zwraca:

grep $whoami /etc/passwd

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

lord101: czy na pewno zablokowany jest Bash, czy może Bash nie może sobie poradzić z uruchomieniem skryptu? ;>

Może zasób został podmontowany z "noexec"?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×