Fish Shell zamiast bash dla macOS

24/05/2017, 17:14 · · · 9

Od kilku dni wykonywałem syzyfową pracę za pomocą programu ImageOptim i Findera. Wiedziałem, że muszę to sobie zautomatyzować, ale nie miałem na to czasu, więc w wolnych chwilach brałem kilkaset plików, wrzucałem do ImageOptim i czekałem aż się skompresują. Dzisiaj w końcu sobie to zautomatyzowałem pisząc skrypt, który wszystko zrobi za mnie, ale żeby nie było za łatwo, to postanowiłem podmienić sobie basha na fish.

Dlaczego fish? Bo naukę basha zacząłem prawdopodobnie 23 lata temu i nigdy za nim nie przepadałem. Poza tym nie wykorzystywałem go do pisania skryptów od przynajmniej 15 lat, więc i tak musiałbym przypomnieć sobie składnię. Stwierdziłem więc, że przejdę na nowocześniejszego fisha, przy okazji zaczynając naukę „od nowa”.

Bash jest domyślnym shellem pod macOS, a fisha trzeba doinstalować. Można to zrobić na kilka sposobów – za pomocą Homebrew, MacPorts lub ręcznie. Brew miałem już na komputerze z innych powodów, więc skorzystałem z tej metody. Wszystkie są opisane tutaj.

Najpierw instalacja Homebrew

Jeśli nie macie Homebrew, to należy go zainstalować następującą komendą, wpisywaną w Terminalu:

Jeśli już macie, to uruchomcie Terminal i upewnijcie się, że wszystko gra…

A potem…

Instalujemy Fish

Jeśli już macie Homebrew, to czas na instalację fisha… W Terminalu wpisujemy…

Po jego zainstalowaniu, które może chwilę zająć, trzeba będzie jeszcze zmienić basha z domyślnego shella na fisha. Pierwszym krokiem będzie edycja pliku /etc/shells, aby dodać do niego fisha. Ja w tym celu używam BBEdit, ale każdy edytor tekstu powinien się nadawać. Do edycji tego pliku będzie potrzebne hasła administratora. Domyślnie wygląda on tak:

Na dole trzeba dodać jedną linię tekstu…

… aby system wiedział o istnieniu fisha. Teraz pozostaje już tylko zmienić basha na fisha następującą komendą.

Jeśli teraz zamkniecie okno Terminala i otworzycie nowe, to uruchomi się już fish, a nie bash.

W następnej części opiszę swój fish-owy skrypt…

fish shell

9

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.