Jaka jest różnica między rozszerzeniami plików .command, .tool i .sh?
22
Widziałem kilka pytań na temat wykonywania skryptów wiersza poleceń? Widziałem, że wspomniano rozszerzenia .command i .tool. Zawsze używałem .sh. Jaka jest różnica między tymi różnymi skryptami? Czy niektóre rozszerzenia pozwalają na różne polecenia?
Programowo, jestem pewien, że różnica między dwoma pierwszymi (.command vs. .tool) jest subtelna, podczas gdy trzeci jest zasadniczo prostym, domyślnym skryptem powłoki. I faktycznie wiąże się z Xcode 4.1.
5
„… Jestem pewien, że różnica między dwoma pierwszymi (.command vs. .tool) jest subtelna…” W rzeczywistości różnice nie istnieją :-) Terminal traktuje je identycznie. Dwa rozszerzenia plików odwzorowują dokładnie ten sam typ pliku w Info.plist terminalu, a Terminal nie próbuje wykryć, które rozszerzenie zostało dostarczone. Ponadto oprócz tego, że posiadanie różnych rozszerzeń oznacza, że mogą one mieć różne domyślne aplikacje, zawartość wszystkich trzech typów plików jest taka sama. Wszystkie są tylko skryptami powłoki.
Uważam, że pliki .sh są domyślnie „własnością” Xcode, więc jeśli klikniesz jeden z nich dwukrotnie, otworzy się on w Xcode zamiast wykonać.
Pliki .command i .tool są domyślnie własnością terminalu, więc dwukrotne kliknięcie jednego z nich spowoduje otwarcie i uruchomienie w terminalu.
Nie znam żadnych innych różnic między nimi.
Ja również użyłem .sh do skryptów powłoki, ale ostatnio przestałem, ponieważ zacząłem pisać moje skrypty powłoki w Zsh zamiast sh, i mylące było próbowanie zapamiętania, czy pewne polecenie zakończyło się na .sh lub .zsh, więc w końcu po prostu umieściłem je wszystkie w ~ / bin / i upewniłem się, że są one wykonywalne, i nie używam na nich rozszerzeń plików.
Pliki .sh można otwierać w Xcode (kliknięcie kontrolne »„ otwórz za pomocą ”pokaże Xcode jako opcję), ale to, w której aplikacji się otworzą, będzie zależeć od tego, która aplikacja zostanie zainstalowana jako pierwsza i„ zgłosi ”rozszerzenie. Jeśli inna aplikacja została zainstalowana przed Xcode i twierdzi, że .sh, nie będzie wyświetlana jako otwierająca się z Xcode.
Masz rację: poza tym, że różne rozszerzenia plików pozwalają im mieć różne domyślne aplikacje, zawartość i obsługa tych plików jest taka sama. Wszystkie są tylko plikami skryptów powłoki.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.