Ilekroć otwieram plik .sh, otwiera go w gedit zamiast w terminalu. Nie mogę znaleźć żadnej opcji podobnej do Kliknięcia prawym przyciskiem → Otwórz za pomocą → Inna aplikacja ... → Terminal .
Jak mogę otworzyć ten plik w terminalu?
Ilekroć otwieram plik .sh, otwiera go w gedit zamiast w terminalu. Nie mogę znaleźć żadnej opcji podobnej do Kliknięcia prawym przyciskiem → Otwórz za pomocą → Inna aplikacja ... → Terminal .
Jak mogę otworzyć ten plik w terminalu?
ruby foo.rb
Odpowiedzi:
Zezwól na wykonanie skryptu:
Aby uruchomić skrypt:
Ponieważ
.
odnosi się do bieżącego katalogu: jeśliyourscript.sh
znajduje się w bieżącym katalogu, możesz uprościć to do:źródło
bash /path/to/yourscript.sh
, to nie potrzebujeszchmod +x
. /path/to/yourscript.sh
jeśli skrypt musi skonfigurować niektóre zmienne środowiskowe../path/to/yourscript.sh
(bez spacji po.
)? Uważam, że jeden jest najprostszy i najłatwiejszy w użyciu ... Ale tak czy inaczej, oto moja alternatywa, która powinna zrobić prawie to samo, co./
zrobiłbym, chociaż nie rozumiem, dlaczego nie używałbyś./
:(FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
... edytujFILENAME
według własnych upodobań . Należy również pamiętać, żesh
zostanie użyty, jeśli nie ma alternatywy.Musisz zaznaczyć skrypty powłoki jako pliki wykonywalne, aby uruchomić je z menedżera plików:
Kliknij
.sh
plik prawym przyciskiem myszy i wybierz Właściwości :Na karcie Uprawnienia zaznacz Zezwalaj na uruchamianie pliku jako programu :
Zamknij okno Właściwości i kliknij dwukrotnie plik. Pojawi się okno dialogowe z opcją uruchomienia skryptu w terminalu:
źródło
Otwórz terminal i przejdź do folderu, w którym
.sh
znajduje się plik. Następnie wpisz:źródło
Warunek wstępny
Zanim będziesz mógł uruchomić plik .sh, musisz go uruchomić:
Ostrzeżenie
Upewnij się, że ufasz źródłu, z którego pochodzi plik. To może być wirus .
Bardzo prosty sposób
To ma problem. Terminal zamknie się natychmiast i nie będzie widać wyjścia.
Prosty sposób
Sposób, w jaki robią to profesjonaliści
Znajdź, gdzie plik .sh
ls
icd
ls
wyświetli listę plików i folderów w bieżącym folderze . Spróbuj: wpisz „ls” i naciśnij klawisz Enter.cd
, następnie spację, a następnie nazwę folderucd ..
przejdziesz do folderu, którego nie chciałeś, biegnij, aby przejść o jeden poziom wyżejUruchom plik .sh
Gdy zobaczysz na przykład
script1.sh
zls
uruchom to:Dlaczego to skomplikowane?
Terminal ma bogaty zestaw potężnych narzędzi, które są dostępne po wpisaniu poleceń. Specjaliści zlokalizują plik .sh, wpisując
ls
icd
. Po znalezieniu się w odpowiednim bieżącym folderze możesz uruchomić skrypt w następujący sposób:lub możesz uruchomić i przekierować dane wyjściowe do pliku:
lub możesz filtrować dane wyjściowe pod kątem słów kluczowych (np. „jabłka”), a następnie przekierować do pliku:
Istnieją tysiące rzeczy, które możesz zrobić w tym pliku, wpisując kilka poleceń.
Kolejny: możesz pobrać plik z Internetu za pomocą jednego prostego polecenia:
A następnie otwórz plik w ten sposób:
źródło
W systemie Ubuntu 13.04 pliki wykonywalne otwarte w Nautilus są teraz domyślnie otwierane w gedit, zamiast monitować użytkownika o ich wykonanie. Aby włączyć klasyczne zachowanie, musisz dostosować preferencje:
Nautilus → menu Edycja → Preferencje → karta Zachowanie → Kliknij przycisk opcji obok Pytaj za każdym razem.
źródło
Przejdź do katalogu, w którym
.sh
znajduje się plik, używająccd
. W tym przykładzie zapisałem mójsh
plik jako~/Desktop/shell_practice/test.sh
najpierw zrób,
pwd
aby dowiedzieć się, gdzie jesteś, a jeśli powróci/home/username
(gdzieusername
jest twoja prawdziwa nazwa użytkownika), możesz uruchomićJeśli wydajesz się być gdzieś indziej, możesz użyć ścieżki absolutnej
lub
lub nawet
to wszystkie sposoby na opisanie tego samego miejsca. Po dotarciu do lokalizacji skryptu wpisz
Jeśli widzisz
sh
plik na wyjściu, możesz użyćchmod
go, aby był wykonywalny. W moim przypadku pamiętaj, że nazwa pliku totest.sh
, więc bym uruchomiłTeraz, gdy jesteśmy w tym samym katalogu co skrypt, musimy określić w powłoce, że chcemy wykonać plik, podając jego lokalizację
./
(bieżący katalog poprzedzony jest separatorem ścieżek, aby odróżnić go od nazwy pliku). Aby uruchomić mój plik, wpisałbym:Jeśli skrypt został poprawnie napisany, będzie działał bez błędów ...
Oto przykład na żywo:
źródło
2 główne kroki.
w terminalu użyj gedit do napisania i zapisania skryptu z rozszerzeniem „.sh” na pulpicie. (ale można użyć dowolnego edytora tekstu)
otwórz Nautilus i kliknij prawym przyciskiem myszy plik script.sh.
w obszarze właściwości zaznacz pole „zezwól na uruchamianie pliku ..”
w menu Nautilus kliknij plik, następnie preferencje, a następnie zachowanie
zaznacz „uruchamiaj wykonywalne pliki tekstowe po ich otwarciu”.
Teraz, po dwukrotnym kliknięciu pliku na pulpicie, powinien on zostać wykonany. nie ma potrzeby
.
lub./
źródło
Kliknij
.sh
plik prawym przyciskiem myszy i uczyń go wykonywalnym.Otwórz terminal ( Ctrl+ Alt+ T).
Przeciągnij
.sh
plik do okna terminala i patrz z podziwem.źródło
Można to zrobić na kilka sposobów.
opcja 1
W terminalu przejdź do katalogu, w którym znajduje się plik Bash
cd
(zmień katalog).Dawny.
cd Downloads
Biegać
bash <filename>.sh
Działa to również z plikami .run. Na tej stronie znajduje się przykład tego użycia przy aktualizacji Rhythmbox.
Opcja 2
W terminalu przejdź do katalogu, w którym znajduje się plik bash.
Biegać
chmod +x <filename>.sh
W Nautilus otwórz plik.
źródło
W przypadku Ubuntu 18.04 wprowadzono niewielką modyfikację, ponieważ nie pojawia się wyskakujące okno dialogowe.
Musisz więc:
Kliknij prawym przyciskiem myszy Pliki, wybierz Preferencje> Wybierz kartę Zachowanie> Zaznacz opcję „Zapytaj, co zrobić” w obszarze Plik wykonywalny.
Teraz, po dwukrotnym kliknięciu dowolnego pliku .sh, pojawi się wyskakujące okienko, w którym możesz wybrać opcję „uruchom w terminalu”, aby uruchomić plik .sh
źródło
W Ubuntu 16.04 jest to, jak otworzyć go w terminalu:
Idź do
File Manager > Edit > Preferences > Behavior
doExecutable Text Files
i wybierzAsk each time
.Problem polega na tym, że domyślnie jest ustawiony na
View Executable Files when they are opened
.źródło
Jeśli umieścisz skrypt powłoki lub inny plik wykonywalny, który utworzysz w / usr / local / bin, zostanie on znaleziony i wykonany bez konieczności podawania ścieżki folderu w wierszu poleceń lub dodawania ./ do nazwy. Na przykład utworzyłem następujący prosty 3-wierszowy skrypt bash, aby wyświetlić UUID dysku:
Nazwałem plik uuid i umieściłem go w / usr / local / bin. W wierszu poleceń muszę tylko wpisać:
źródło
Cóż, ja też stanąłem przed tym samym problemem. Chciałem uruchomić plik .sh, który otworzył się za pomocą Gedit na CentOS 7. Więc oto co zrobiłem:
.sh
pliku, który chciałem wykonać.źródło
Problem, który znalazłem w kilku dystrybucjach, polega na tym, że ukryli opcję preferencji w Nautilusie, ale naprawa tego w Ubuntu i innych dystrybucjach za pomocą Gnome3 jest taka sama (dosłownie właśnie zrobiłem tę wersję Fedory i opublikowałem poprawkę, aby mi przypomnieć jak w przyszłości).
zainstalować
dconf-editor
Uruchom
dconf-editor
używając konta użytkownika, na którym chcesz to zrobić, tj. NIE rootPrzejdź do następującego schematu:
org.gnome.nautilus.preferences
Zmień domyślną opcję, aby domyślnie się nie otwierała:
Znajdź
executable-text-activation
kliknij słowodisplay
i zmień naask
dzięki czemu będziesz mógł edytować, przeglądać lub uruchamiać plik w przyszłości
źródło
W Linuksie jestem noobem i właśnie miałem ten sam problem. Jeśli wszystko inne zawiedzie:
źródło
Możesz także użyć
.
sztuczek z sugestiami innych odpowiedzi.Na przykład:
chmod +x filename.sh
, zakładając, że już przeszedłeś do ścieżki do pliku, a następnie uruchom plik za pomocą dowolnej z następujących komend:źródło