Zawsze chciałem móc uruchomić skrypt pobrany bezpośrednio z Findera, ale podwójne kliknięcie pliku nie działa.
macos
terminal
command-line
bash
Maximus
źródło
źródło
sh
oznacza, że skrypt powłoki nie „uruchamia skryptu w tej powłoce”.shell shell_script
linia shebang jest ignorowana. Powłoka czyta pierwszy wiersz jako komentarz.sh /path/to/file
różni się semantycznie od alternatywy/path/to/file.sh
?Możesz też zrobić
który również uruchomi plik wykonywalny z określoną powłoką (jeśli jest określony w shebang
#!/bin/(shell)
źródło
edytuj
~/.bash_profile
i dodaj następujący wiersz:wykonaj następujący wiersz polecenia:
wtedy będziesz mógł uruchomić swój plik jako program
$ myfile
źródło
#~/bin/sh
, podczas gdy wOSX
skrypcie powinien mieć.sh
rozszerzenie ialias
dla każdego z nich. : -OWykonaj następujące kroki, aby uruchomić pliki skryptów:
Kliknij plik .sh prawym przyciskiem myszy.
Najedź kursorem na Otwórz za pomocą .
Wybierz inne ... .
Powinieneś być w folderze Aplikacje . Otwórz folder Narzędzia i wybierz Terminal.app.
Jeśli nie możesz wybrać Terminal.app, zmień włączone aplikacje z Zalecanych aplikacji na Wszystkie aplikacje . Znajduje się na dole okna.
Jeśli chcesz otworzyć każdy
.sh
plik za pomocą Terminal.app, zaznacz opcję Zawsze otwieraj za pomocą .Naciśnij przycisk Otwórz w prawym dolnym rogu okna.
źródło
Powodem, dla którego nie działa po pobraniu jest to, że uprawnienia do plików na to nie pozwalają. Aby włączyć uprawnienia do wykonywania, otwórz Terminal i wpisz
chmod 755 /path/to/script
. Zamiast wpisywać pełną ścieżkę, możesz przeciągnąć skrypt do okna Terminal z Findera. Następnie, aby wykonać, wystarczy wejść/path/to/script
. Ponownie możesz przeciągnąć i upuścić plik w oknie terminala. Ta składnia powinna uruchomić skrypt przy użyciu poprawnej powłoki zdefiniowanej w pierwszym wierszu skryptu.źródło