Nie mam więc doświadczenia w radzeniu sobie z wieloma typami plików i nie byłem w stanie znaleźć wielu informacji na temat tego, czym .sh
są pliki. Oto, co próbuję zrobić:
Próbuję pobrać zestawy danych map, które są ułożone w kafelki, które można pobrać pojedynczo: http://daymet.ornl.gov/gridded
Aby pobrać szereg kafelków na raz, mówią, aby pobrać ich skrypt, co ostatecznie prowadzi do daymet-nc-retrieval.sh
: https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh
Więc co dokładnie mam zrobić z tym kodem? Witryna nie zawiera dalszych instrukcji, zakładając, że użytkownicy wiedzą, co z nią zrobić. Zgaduję, że masz wkleić kod do innej niewymienionej aplikacji dla przeglądarki (w tym przypadku przy użyciu Chrome lub Firefox)? Wygląda prawie jak coś, co można by wkleić do Firefoksa / Greasemonkey, ale nie do końca. Tylko przez szybkie Google na typ pliku nie udało mi się znaleźć na nim orła ani reszki.
Jestem pewien, że istnieje proste wyjaśnienie, co zrobić z tymi plikami, ale wydaje się, że jest ono zakopane w wielu postach, w których ludzie już zakładają, że wiesz, co zrobić z tymi plikami. Czy ktoś chce po prostu powiedzieć, co należy zrobić od pierwszego kwadratu po przejściu do strony z kodem, aby go faktycznie zaimplementować? Dzięki.
źródło
Odpowiedzi:
Jeśli otworzysz drugi link w przeglądarce, zobaczysz kod źródłowy:
#!/bin/bash # Script to download individual .nc files from the ORNL # Daymet server at: http://daymet.ornl.gov
[…]
# For ranges use {start..end} # for individul vaules, use: 1 2 3 4 for year in {2002..2003} do for tile in {1159..1160} do wget --limit-rate=3m http://daymet.ornl.gov/thredds/fileServer/allcf/${year}/${tile}_${year}/vp.nc -O ${tile}_${year}_vp.nc # An example using curl instead of wget #do curl --limit-rate 3M -o ${tile}_${year}_vp.nc http://daymet.ornl.gov/thredds/fileServer/allcf/${year}/${tile}_${year}/vp.nc done done
Więc to jest skrypt bash. Masz Linuksa?
W każdym razie skrypt to nic innego jak seria pobrań HTTP. Zarówno wget, jak i curl są dostępne dla większości systemów operacyjnych, a prawie wszystkie języki mają biblioteki HTTP, więc przepisanie w dowolnej innej technologii jest dość trywialne. Istnieją również porty samego basha w systemie Windows (git zawiera jeden). Wreszcie system Windows 10 ma teraz natywną obsługę plików binarnych systemu Linux .
źródło
Co to jest plik z rozszerzeniem .sh?
Jest to skrypt powłoki Bourne'a . Są używane w wielu odmianach systemów operacyjnych typu UNIX. Nie mają „języka” i są interpretowane przez Twoją powłokę (interpreter poleceń terminala) lub jeśli pierwsza linia jest w postaci
#!/path/to/interpreter
użyją tego konkretnego tłumacza. Twój plik ma pierwszą linię:
#!/bin/bash
a to oznacza, że używa Bourne Again Shell, tzw. bash. Z praktycznego punktu widzenia zastępuje stare, dobre rzeczy.
W zależności od tłumacza będziesz mieć inny język, w którym plik jest napisany.
Należy pamiętać, że w świecie UNIX to nie rozszerzenie pliku określa, czym jest plik (zobacz Jak wykonać skrypt powłoki).
Jeśli pochodzisz ze świata DOS / Windows, będziesz zaznajomiony z plikami z rozszerzeniami .bat lub .cmd (pliki wsadowe). Nie mają podobnej treści, ale są podobne do projektu.
Jak wykonać skrypt powłoki
W przeciwieństwie do niektórych głupich systemów operacyjnych, * nix nie polega wyłącznie na rozszerzeniach, aby określić, co zrobić z plikiem. Używane są również uprawnienia. Oznacza to, że jeśli spróbujesz uruchomić skrypt powłoki po jego pobraniu, będzie to takie samo, jak próba „uruchomienia” dowolnego pliku tekstowego. Rozszerzenie „.sh” jest dostępne tylko dla wygody użytkownika, aby rozpoznać ten plik.
Będziesz musiał uczynić plik wykonywalnym. Załóżmy, że pobrałeś plik jako
file.sh
, możesz następnie uruchomić w swoim terminalu:chmod
jest poleceniem do zmiany uprawnień do pliku,+x
ustawia uprawnienia do wykonywania (w tym przypadku dla wszystkich) i wreszcie masz nazwę pliku.Możesz to również zrobić w GUI. W większości przypadków możesz kliknąć plik prawym przyciskiem myszy i wybrać właściwości, w XUbuntu opcje uprawnień wyglądają następująco:
Jeśli nie chcesz zmieniać uprawnień. Możesz także zmusić powłokę do uruchomienia polecenia. W terminalu możesz uruchomić:
Powłoka powinna być taka sama jak w pierwszej linii skryptu.
Jak to jest bezpieczne?
Może się wydawać dziwne, że musisz wykonać inne zadanie ręcznie, aby wykonać plik. Ale jest to częściowo spowodowane silną potrzebą bezpieczeństwa.
Zasadniczo, kiedy pobierasz i uruchamiasz skrypt basha, jest to to samo, co ktoś mówi ci „uruchom wszystkie te polecenia po kolei na swoim komputerze, obiecuję, że wyniki będą dobre i bezpieczne”. Zadaj sobie pytanie, czy ufasz stronie, która dostarczyła ten plik, zadaj sobie pytanie, czy jesteś pewien, że pobrałeś plik z tego samego miejsca, co myślałeś, a może nawet zajrzyj do środka, aby sprawdzić, czy coś wygląda nie na miejscu (chociaż to wymaga że wiesz coś o poleceniach * nix i programowaniu bash).
Niestety poza powyższym ostrzeżeniem nie mogę szczegółowo opisać, co należy zrobić, aby zapobiec złym rzeczom związanym z komputerem; więc pamiętaj, że za każdym razem, gdy otrzymasz i uruchomisz plik wykonywalny od kogoś, w rzeczywistości mówisz: „Jasne, możesz użyć mojego komputera do zrobienia czegoś”.
źródło
sh
pliki są plikami wykonywalnymi powłoki unixowej (linux), są odpowiednikami (ale o wiele bardziej wydajnymi)bat
plików w systemie Windows.Musisz więc uruchomić go z konsoli linuxa, po prostu wpisując jego nazwę tak samo, jak robisz z plikami bat w systemie Windows.
źródło
chmod +x file.sh
Zwykle plik .sh jest skryptem powłoki, który można wykonać w terminalu. Konkretnie, skrypt, o którym wspomniałeś, to skrypt bash, który możesz zobaczyć, otwierając plik i przeglądając pierwszą linię pliku, która nazywa się shebang lub magic line.
źródło
Wiem, że to stare pytanie i prawdopodobnie nie pomogę, ale wiele dystrybucji Linuksa (np. Ubuntu) ma funkcję „Live cd / usb”, więc jeśli naprawdę potrzebujesz uruchomić ten skrypt, możesz spróbować uruchomić komputer do Linuksa. Po prostu wypal plik .iso na dysku flash (oto jak http://goo.gl/U1wLYA ), uruchom komputer z podłączonym dyskiem i naciśnij klawisz F, aby wyświetlić menu rozruchu. Jeśli wybierzesz "... USB ...", uruchomisz system operacyjny, który właśnie umieściłeś na dysku.
źródło
otwórz lokalizację w terminalu, a następnie wpisz te polecenia 1. chmod + x nazwa_pliku.sh 2. ./filename.sh to wszystko
źródło