Wypróbowałem trzy różne sposoby, aby utworzyć symboliczny link do Sublime Text na moim komputerze Mac, a po każdym ponownym uruchomieniu terminalu wciąż informuje mnie, że polecenie nie zostało znalezione. Używam komputera Mac z Yosemite (OSX Yosemite, 10.10). Jak mogę utworzyć dowiązanie symboliczne, aby móc otworzyć Sublime za pomocą sub
polecenia?
Jeden
ln -s 'Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl' /bin/sub
Dwa
ln -s "Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" /bin/sub
Trzy (bez cytatów)
ln -s Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /bin/sub
/Applications/…
, jak wskazano w odpowiedzi, i potrzebujesz uprawnień roota, aby pisać/bin
(stądsudo
). Pozostaje pytanie, czy wystarczy uruchomić plik wykonywalny w ten sposób. Czy na pewno nie chcesz, aby skrypt powłoki działał podobnieopen "/Applications/Sublime\ Text.app"
do zawartości pliku/bin
?Odpowiedzi:
Teraz brakuje „/” na początku swojej aplikacji i
sudo
jak/bin
jest własnościąroot
i nie można właściwie napisać do niego jako zwykły użytkownik. W obecnej formie działałoby to tylko wtedy, gdy bieżącym katalogiem był systemowy katalog główny. Zakłada się oczywiście, że aplikacja Sublime Text znajduje się w głównym folderze aplikacji.Spróbuj tego…
Jedno przemyślenie: zmiana zawartości jest uważana za złą praktykę,
/bin
a/usr/bin
ponieważ każda nadchodząca aktualizacja OS X może wyczyścić zawartość./usr/local/bin
jest zwykłym miejscem do instalowania plików binarnych podanych przez użytkownika, więcmoże być lepszą opcją.
Lub (ponieważ prawdopodobnie nigdy nie musisz uruchamiać Sublime Text z poziomu skryptu powłoki), po prostu zdefiniuj alias bash
które powinny zostać dodane do pliku startowego bash, aby się trzymał
źródło
sudo
a jeśli chcesz podać nazwę ścieżki, nie używaj ukośników odwrotnych do spacji!Późno na imprezę. Napotkałem ten sam problem podczas konfigurowania komputera Mac i wypróbowałem kilka rzeczy. Oto, co zadziałało dla mnie.
Aby uzyskać więcej informacji, przejdź do tego repozytorium github .
źródło
sudo
użyłeś i jest wymagane w tym przypadku, jak to się różni od tego, co zostało już zaoferowane w odpowiedzi mockmana? Poza tym faktem, że decyduje się na użyciesub
kontrasubl
, aby wielokrotnie wpisywać jedną postać mniej, aby go użyć, tak naprawdę nie wynika to z tego, co widzę!/usr/local/bin
nie używa/usr/bin
jako powyższych poleceń./usr/local/bin
jest katalogiem zalecanym dla aplikacji użytkownika, podczas gdy / usr / bin jest używany w programach użytkowników zarządzanych przez dystrybucję. Tak więcsub
vs niesubl
jest jedyną zmianą, po prostu zależy od preferencji użytkownika; co chcą napisać. Przepraszam jeśli to powoduje zamieszanie ..ln: /usr/local/bin/subl: Permission denied
2. Sugeruję ponowne przeczytanie odpowiedzi mockmana, tak jak absolutnie ma to miejsce/usr/local/bin/
w drugimsudo ln -s
poleceniu w jego odpowiedzi!