swosmax 0 Zgłoś post Napisano Maj 1, 2016 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
Pan Kot 1535 Zgłoś post Napisano Maj 1, 2016 Różnica jest w tym, że jeden plik ma chmod 755 a drugi 644. Udostępnij ten post Link to postu Udostępnij na innych stronach
swosmax 0 Zgłoś post Napisano Maj 1, 2016 No właśnie plik na obu serwerach ma te same chmody 755 Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Maj 1, 2016 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
swosmax 0 Zgłoś post Napisano Maj 2, 2016 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
Bartosz Z 236 Zgłoś post Napisano Maj 2, 2016 To zrób: #!/bin/sh Udostępnij ten post Link to postu Udostępnij na innych stronach
swosmax 0 Zgłoś post Napisano Maj 2, 2016 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
Jarosław Szmańda 42 Zgłoś post Napisano Maj 2, 2016 chmod +x? Udostępnij ten post Link to postu Udostępnij na innych stronach
swosmax 0 Zgłoś post Napisano Maj 2, 2016 tak... plik na obu serwerach jest identyczny... ma identyczne atrybuty Udostępnij ten post Link to postu Udostępnij na innych stronach
tgx 575 Zgłoś post Napisano Maj 2, 2016 porównaj $PATH na obu Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Maj 2, 2016 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
Pan Kot 1535 Zgłoś post Napisano Maj 2, 2016 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
swosmax 0 Zgłoś post Napisano Maj 2, 2016 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
lord101 18 Zgłoś post Napisano Maj 2, 2016 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
Bartosz Z 236 Zgłoś post Napisano Maj 3, 2016 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