Odpowiedzi:
Najpierw w terminalu włącz skrypt do wykonania, wpisując:
chmod a+x (yourscriptname)Następnie w Finderze kliknij plik prawym przyciskiem myszy i wybierz „Otwórz za pomocą”, a następnie „Inne ...”.
Tutaj wybierz aplikację, w której chcesz uruchomić plik, w tym przypadku będzie to Terminal. Aby móc wybrać terminal, musisz przełączyć z „Zalecanych aplikacji” na „Wszystkie aplikacje”. (Aplikacja Terminal.app znajduje się w folderze Narzędzia)
UWAGA: chyba że nie chcesz powiązać wszystkich plików z tym rozszerzeniem, które mają być uruchamiane w terminalu, nie powinieneś zaznaczać opcji „Zawsze otwieraj z”.
.commandjest domyślnie wykonywalny z Findera, bez potrzeby instruowania Findera, jak go otworzyć.
.commandrozszerzenie pliku.
Czy próbowałeś użyć .commandrozszerzenia nazwy pliku?
chmod +x), ale .commandrozszerzenie jest już połączone z terminalem. Świetne rozwiązanie, dziękuję
Począwszy od OSX 10.10 (Yosemite) i od co najmniej OS X 10.8 (Mountain Lion) , zachowanie jest następujące po otwarciu (podwójnym kliknięciem) skryptów wykonywalnych z Findera :
.command :
Preferences... > Profilesmożesz zdecydować o automatycznym zamknięciu okna po zakończeniu skryptu.cd -- "$(dirname "$BASH_SOURCE")" zaraz po linii shebangcd -- "$(dirname "$0")".chmod +x <script>w terminalu; w przeciwnym razie zobaczysz następujące objawy:.command: Finder wyświetla mylący komunikat o błędzie, który sugeruje, że problem można rozwiązać za pomocą File > Get Info, co nie jest prawdą - użyj chmod +xmetody sugerowanej powyżej.#!/bin/bash): zachowanie jest tak, jakby to był przyrostek .sh- patrz poniżej..sh , zarówno wykonywalne, jak i nie:
TextEdit.applub, jeśli są zainstalowane, za pomocą Xcode.app..scpt lub .applescript(nawet jeśli same są oznaczone jako pliki wykonywalne, co zwykle nie ma miejsca):
[Apple]Script Editor[1] Plik wykonywalny oznacza: skrypt z ustawionymi bitami uprawnień do wykonania i użytkownikiem wywołującym - w stosunku do własności pliku - dlatego potencjalnie może go wykonać.
Jeśli używasz chmod a+xustawić wszystkie bity uprawnień (co jest typowe), każdy może ją wywołać (zakładając, że są one również możliwość odczytu pliku na podstawie odczytu bitu zezwolenia (S) i własności danego pliku).
osascriptktórą można dołączyć do .commandpliku zamiast ręcznego wprowadzania zmian w profilu.
osascript -e '...'polecenia na końcu skryptu? Jakie jest konkretne polecenie i czy zapewnia ono zamknięcie prawej karty, nawet jeśli skrypt nie jest uruchomiony na pierwszej karcie?
osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &... Może nie działać w każdym scenariuszu, chociaż przekierowanie na koniec jest naprawdę kluczem - w przeciwnym razie osascript można łatwo dostosować (np. okno może wymagać zmiany na tab, jeśli jest to domyślne zachowanie twojego terminala itp.).
.commanduruchomieniu pliku skryptu pomimo ustawienia profilu?
bashskrypt, dodaj read -p 'Press Return to close this window.'jako ostatnią instrukcję.
Alternatywnie możesz utworzyć zwykłą aplikację Mac OS X ze skryptu za pomocą Platypus
Prostym sposobem jest zmiana numeru wewnętrznego na .commandlub brak rozszerzenia.
Ale to otworzy Terminal i będziesz musiał go zamknąć. Jeśli nie chcesz widzieć żadnych danych wyjściowych, możesz użyć Automatora, aby utworzyć aplikację Mac, którą możesz kliknąć dwukrotnie, dodać do stacji dokującej itp.
AutomatoraplikacjęRunprzycisk w prawym górnym rogu, aby go przetestować.File > Save stworzyć aplikację.Nie trzeba korzystać z aplikacji innych firm, takich jak Platypus.
Wystarczy utworzyć skrypt Apple za pomocą edytora skryptów i użyć polecenia do shell script "shell commands"do bezpośrednich wywołań poleceń lub wykonywalnych plików skryptów powłoki, zabezpieczyć gdzieś edytowalny plik skryptu, a następnie wyeksportować go, aby utworzyć skrypt aplikacji. skrypt aplikacji można uruchomić, klikając dwukrotnie lub wybierając w folderze paska.
Możesz również ustawić wartości domyślne według rozszerzenia pliku za pomocą RCDefaultApp:
http://www.rubicode.com/Software/RCDefaultApp/
potencjalnie możesz ustawić .sh, aby otwierał się w iTerm / Terminal itp. wymagałoby to uprawnień użytkownika do wykonania, np
chmod u+x filename.sh