Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

O rybce w powłoce

Jako, że jest to mój pierwszy wpis na blogu, chciałbym staropolskim zwyczajem powiedzieć coś o sobie.
Od prawie dziesięciu lat jestem użytkownikiem Linuxa, więc jeżeli będę coś pisał na tym blogu, to na pewno będzie dotyczył on tego zagadnienia. Przez 4 lata swojego życia pracowałem jako administrator wszelkich linuksów i uniksów, aby wreszcie zostać programistą embedded linux.

W związku z powyższym pracowałem na wielu różnych systemach, w różnych środowiskach itp. Liczę na to, że znajdą się osoby, które skorzystają na moim doświadczeniu, a dodadzą coś od siebie w komentarzach, abym i ja mógł nauczyć się czegoś nowego.

Fish - podstawy

Dzisiaj chciałbym wypowiedzieć się trochę o fishu czyli nowej powłoce systemowej dostępnej na systemy rodziny linux.

Jak to się wszystko zaczęło?

Pewnego razu stwierdziłem, że moje sposoby interakcji z systemem trochę rdzewiały, więc postanowiłem poszukać nowego emulatora terminala. Wiem, że istnieją takie, które pozwalają wyświetlać obrazki w oknie (terminology), takie, które obsługuje się myszką (finalterm) itp.
Jednak to nadal nie było to, czego szukałem. W jednym z komentarzy na G+ ktoś polecił fisha. Z początku byłem sceptycznie nastawiony do pomysłu zmiany powłoki, gdyż nie wyobrażałem sobie w jaki sposób nowa powłoka może rozszerzyć jeszcze bardziej niż bash sposób interakcji z systemem (to było zaraz po wprowadzeniu autocompletions do basha).

Instalacja

Instalacja jest bardzo prosta. Sprowadza się do wywołania kilku standardowych poleceń.
Fish powinien być już dostępny w repozytoriach większości dystrybucji, ale zawsze możemy zainstalować bezpośrednio ze źródeł: git clone git://github.com/fish-shell/fish-shell.git cd fish-shell ./configure make sudo make install Teraz możemy albo ustawić tą powłokę na stałe: chsh -s /usr/local/bin/fish albo jednorazowo uruchomić poprzez wywołanie polecenia fish.

Konfiguracja

Pierwszą rzeczą którą należy zrobić po uruchomieniu jest skonfigurowanie automatycznych podpowiedzi. Jest to bardzo prosta czynność, gdyż sprowadza się do uruchomienia skryptu fish_update_completions.

Teraz możemy cieszyć się już fishem w pełnej okazałości.

Czy to wszystko? Oczywiście, że nie.

Teraz możemy przystąpić do konfiguracji zmiennych środowiskowych, kolorów, promptów itp.
W przypadku basha edytujemy w tym celu pliki /etc/profile lub ~/.bashrc. Fish jednak pozwala na konfigurację poprzez przeglądarkę. Jedyne co należy zrobić, to wywołać fish_config.
W przeglądarce otworzy się nowa karta z ustawieniami

gdzie, jak widać, możemy ustawić zarówno kolory terminala (ja używam domyślnych), wybrać "zachętę" z predefiniowanych lub utworzyć swoją własną, ustawić zmienne środowiskowe, przejrzeć/usunąć historię itp.

Korzyści

No dobrze, zainstalowaliśmy program, skonfigurowaliśmy, ale co z tego mamy?
A no bardzo wiele już na samym początku. Potęgę doceniamy dopiero, gdy posiadamy sporą historię wprowadzonych poleceń.

Tab

Jak już wspomniałem, polecenie fish_update_completions tworzy bazę danych autodopowiadania na podstawie manuali (Man pages). Czyli to, co zostało niedawno wprowadzone w bashu na zasadzie pisania plików konfiguracyjnych (/etc/bash_autocompletion) dostajemy za darmo i z automatu (a to oznacza mniej błędów).
W praktyce działa to tak, że otrzymujemy również opis każdego z parametrów.
Dla przykładu, oto co się wyświetla po wpisaniu git i naciśnięciu tab: desktop:fish_test$ git add (Add file contents to the index) apply (Apply a patch on a git index file and a working tree) archive (Create an archive of files from a named tree) bisect (Find the change that introduced a bug by binary search) …and 30 more rows W związku z tym, mamy ogólny pogląd na to, jakiej klasy parametr powinniśmy teraz wpisać.
Ale załóżmy, że chcemy utworzyć patch, ale zapomnieliśmy jak dokładnie nazywa się parametr.
Naciskamy jeszcze raz TAB. Tym razem otrzymujemy znacznie większą listę parametrów polecenia git.
Jest ich całkiem sporo, więc ciężko byłoby wyszukać jak dokładnie nazywa się ten parametr.
Możemy nacisnąć tab jeszcze raz i przechodzimy do wyboru polecenia. Możemy przeklikać się tabem, aż znajdziemy szukaną funkcję, albo po prostu zacząć pisać o co nam chodzi.
Po wpisaniu z klawiatury patch zostają nam już tylko 2 parametry bardzo blisko związane z patchami: desktop:fish_test$ git apply search: patch apply (Apply a patch on a git index file and a working tree) format-patch (Generate patch series to send upstream) Jak widać wyszukiwanie oprócz wyświetlenia funkcji, zawierającej słowo patch pokazało także git apply, które w opisie także zawiera słowo patch.

Ctrl+f / Strzałka w prawo

Po pewnym czasie zauważymy, że fish zaraz za kursorem wyświetla podpowiedź tego, o co w danej chwili może nam chodzić.

Przykładowo, jeżeli ostatnio funkcja, która poprzednio zaczynała się od słowa git posiadała wspomniane wcześniej format-patch, po wpisaniu kilku pierwszych liter polecenia powłoka zrozumie, że prawdopodobnie chcemy zrobić to samo i zaproponuje dokończenie za nas polecenia jako git format-patch, natomiast jeżeli chcielibyśmy zamiast tego wywołać polecenie git apply 0001-super-extra-feature.patch, a już je kiedyś wpisywaliśmy, to wystarczy wpisać git a, a fish zaproponuje resztę automatycznie, aby wybrać tę propozycję wystarczy kliknąć ctrl+f (preferuję ten sposób) lub strzałkę w prawo.

Strzałka w górę

W bashu posiadamy historię poleceń dostępną poprzez ctrl+r. Oczywiście dotychczasowe polecenie zanika i musimy często wpisywać coś od początku, gdy w trakcie wpisywania zorientowaliśmy się, że nie pamiętamy co było pod koniec polecenia. W przypadku fisha sprawa jest oczywiście łatwiejsza. Wystarczy w trakcie wpisywania polecenia użyć strzałki do góry (później można przeszukiwać historię w drugą stronę przy pomocy strzałki w dół).

Historia - w bashu do ustawienia (standardowo jest ustawiona na 100 poleceń, przez co jest bezużyteczna, bo 100 poleceń wpisuje się w 15 minut pracy na systemie), w fishu jest nieskończona (w tym momencie mam około 7000 poleceń).

Alt + strzałka w górę

Załóżmy taką sytuację: chcemy przenieść plik "0037_feature.patch" do katalogu ../new_dir, a następnie w tym katalogu edytować ten plik. W bashu robimy to poprzez mv 0037_feature.patch ../new_dir cd $_ vim 0037_feature.patch Po pierwsze, $_ jest nieintuicyjne (ostatni parametr poprzedniego polecenia).
Po drugie, gdy już przejdziemy do katalgu, musimy wpisać pełną nazwę pliku, który zazwyczaj nie jest jakoś specjalnie unikalny (w tym przypadku musiałbym wpisać na pewno 0037, a następnie nacisnąć tab. Sytuacja może się bardzo komplikować w przypadku innych plików.
W fishu, wystarczy przy wciśniętym klawiszu alt, przesuwać się strzałkami góra/dół w historii wpisywanych parametrów.

Ctrl+c

Ctrl+c w bashu powoduje wypisanie znaku ^C w poprzedniej linii i ponowne wypisanie znaku zachęty. W fishu powoduje wyczyszczenie aktualnie wpisanego polecenia i nic więcej. Drobna estetyczna sprawa, a cieszy.

Kolory

Dzięki fish już w trakcie pisania polecenia wiemy, czy ono się wykona, czy nie.
Dla przykładu przy próbie wpisania polecenia, które nie znajduje się w ścieżkach systemowych, polecenie kolorowane jest na czerwono (domyślne ustawienia), aż do momentu, aż fish nie uzna go jako działające (np. samo c będzie czerwone, cd już niebieskie).

Skrypty

Fish upraszcza także pisanie skryptów, czy nie fajnie jest sprawdzać wynik ostatniego polecenia poprez $status niż poprzez $? ?.
Dodatkowo, gdy chcemy wyświetlić wartość jakiegoś parametru na L w bashu wpisujemy całe polecenie echo. W fishu wystarczy wpisać echo $l i kliknąć tab, a w autopodpowiedziach zobaczymy już wartości.

Wielkie/małe litery

W przypadku, gdy nazwa katalogu wygląda w ten sposób: SnEDfGhtHFG, w bashu musimy szczególną uwagę zwracać na wielkość litery, aby autouzupełnianie działało. W fishu nie musimy się tym martwić.

Inne klawisze

Do powłoki możemy przypisać skróty klawiaturowe, ale ja się tym nie bawiłem, więc ciężko mi coś sensownego w tym temacie powiedzieć.

Zakończenie

Mam nadzieję, że zachęcę niektórych do korzystania z tego programu, a przy okazji ktoś podzieli się ciekawym configiem lub czymś podobnym.

P.S.

Wpis publikowany o późnej godzinie, więc zastrzegam sobie prawo do edycji wpisu.

P.S.2

Obrazków więcej nie będzie :) 

linux oprogramowanie

Komentarze

0 nowych
nr47   7 #1 14.04.2014 08:25

Wielkie dzięki za wspomnienie o fishu w komentarzu pod moim wpisem, przesiadłem się na niego tego samego dnia i nadal jestem zachwycony!

GL1zdA   12 #2 14.04.2014 08:38

Też ostatnio bawię się z fishem (po krótkiej przygodzie z zsh) i wygląda na to, że przy nim pozostanę.

ariiell   12 #3 14.04.2014 08:52

Fajny i ciekawy wpis :) Nie miałam okazji spotkać się z fish'em na żywo, ale dobrze wiedzieć że gdzieś mogę się odwołać do czyichś doświadczeń.

eimi REDAKCJA  17 #4 14.04.2014 11:07

Zainstalowałem w ten weekend fisha i naprawdę, nie mogę się nadziwić, co ja robiłem przez te ostatnie lata? To jakby po latach noszenia drętwych biznes-butów kupić sobie wygodne adidasy.

Jim1961   7 #5 14.04.2014 12:08

Drobna uwaga: po znakach interpunkcyjnych stawiamy spację.

Soft leci na listę "TO-TEST".

"0:37" - to ma być późna godzina? :P

robert-km   4 #6 14.04.2014 12:36

@Jim1961:
Zacząłem pisać w zasadzie dzień wcześniej - później nie chciało mi się poprawiać :)
Po kropkach miałem jeden enter w kodzie zamiast dwóch (wtedy nie pojawia się nawet spacja). Poprawie jak wrócę do domu.

  #7 14.04.2014 16:22

"Obrazków więcej nie będzie :) "

I bardzo dobrze! :)

jmmzon   9 #8 14.04.2014 16:29

Testowałem wczoraj, bardzo fajna powłoka. Ja jednak używam zsh + oh-my-zsh + zsh highlighting (to ostatnie od dzisiaj, po tym jak zobaczyłem kolorowanie składni w fish-u)

Michalk001   7 #9 14.04.2014 18:04

Powłoka fajna, ale po rebocie, gdy chce wejść na konto roota wyświetla mi się cannot execute /usr/local/bin/fish no such file or directory. Konta użytkowników działają. Ma ktoś pomysł jak to naprawić? Mógłbym postawić system na nowo, ale nie chce mi się zbytnio na nowo instalować wszystko rzeczy.

robert-km   4 #10 14.04.2014 18:48

@Michalk001:
Ustawianie "egzotycznych" shelli dla konta roota nie jest dobrym pomysłem. Tam powinien zostać standardowo /bin/sh.
A co wyświetla polecenie ls -l /usr/local/bin/fish ?
Teraz już na pewno nie obędzie się bez zabootowania się z jakiejś płyty CD i zmodyfikowania któregoś z plików konfiguracyjnych, np /etc/passwd. Chyba, że nadal działa ci sudo.

Michalk001   7 #11 14.04.2014 19:23

@robert-km
CD ciężko zbotować, ze względu na to, że na malince robiłem. Zainstalowałem debiana na wirtualce i zmieniłem w /etc/passwd powłokę.
Od siebie dodam, że ładnie działa ta powłoka na telefonie.

robert-km   4 #12 14.04.2014 19:40

@Michalk001:
Malina moim zdaniem nadaje się tylko na XBMC. Może kiedyś też napisze o płytkach embedded - dzięki za podrzucenie hasła.
Widzisz, zapomniałem wspomnieć o znacznie lepszym łamaniu długich wierszy niż w przypadku basha.

Michalk001   7 #13 14.04.2014 19:58

@robert-km
XBMC zbytnio mnie nie interesuje. Malinke wykorzystuje do nauki. W szkole robimy coś na wirtualce z debianem, a w domu robię to samo na malince.

robert-km   4 #14 14.04.2014 20:23

"Malinke wykorzystuje do nauki. W szkole robimy coś na wirtualce z debianem"
Mógłbyś opowiedzieć coś więcej (np. w formie bloga)? Gratuluję nauczyciela, bo zakładam, że to głównie jego wkład w to zagadnienie.

dragonn   11 #15 14.04.2014 20:46

A jak zrobić w fish prompt który oddziela poprzednie polecenie całą linią na szerokość terminalu?

Michalk001   7 #16 14.04.2014 21:11

@robert-km
Coz, zbytnio nie ma czego opisywac. Robilismy skrypty, apache, ftp, firewall'a, sambe, DHCP i jeszcze kilka rzeczy z podstaw. Na wiecej niestety nie pozwolila nowa podstawa programowa, ktora niezle obciela linuxa na rzecz Win Server.
Co do nauczyciela, pracuje wiekszej firmie jako admin, wiec nie jest on nauczycielem, ktory zatrzymal sie x lat temu w technologiach.
Jest jeszcze paru nauczycieli, ktorzy maja pojecie o czym mowia, przynosza swoj sprzet np switch/router cisco, czy robia dodatkowe zajecia z php lub baz danych.
Przy okazji szkola pozwala zdac certyfikat CISCO 1 i 2 stopnia.


PS: Przepraszam za brak polskich znakow, lecz opera mobile nie posiada ich.

przemol96   5 #17 14.04.2014 21:36

U mnie na Manjaro ścieżka do fisha to /usr/bin/fish, ale można wylistować ścieżki przez chsh -l ;)

watchmaker   4 #18 14.04.2014 21:58

1. Że niby wpisanie $? (2 znaki) ma być gorsze od $status (7 znaków)? Wyjaśnij proszę.
2. Czy oprócz kolorowania prompta ten shell posiada jakieś inne unikalne ficzery? Na przykład: przydatne w pisaniu zaawansowanych skryptów tablice (asocjacyjne), jakieś magiczne zmienne, parameter expansions, brace expansions (przepraszam, nie wiem jak to przetłumaczyć na polski)?

robert-km   4 #19 14.04.2014 22:01

@dragonn:
Tak na szybko:
for i in (seq 1 $COLUMNS) ; echo -n #; end

Być może jest jakaś lepsza komenda do tego.

robert-km   4 #20 14.04.2014 22:02

@up: \# oczywiście :)

dragonn   11 #21 14.04.2014 22:11

@robert-km już sobie poradziłem, pętle jest za wolna:
eval printf "\%0{$COLUMNS}o" | sed -e "s/0/¦/g"

robert-km   4 #22 14.04.2014 22:47

@dragonn: W jaki sposób to mierzyłeś? Przy pomocy time?
Możesz też spróbować to:
printf "%.s|" (seq 1 {$COLUMNS})

dragonn   11 #23 14.04.2014 23:00

@robert-km po prostu muliło jak dawałem enter w PROMNT ;), kilka sekund zanim się nowy pojawił, a z tym działa perfekcyjnie.

robert-km   4 #24 14.04.2014 23:03

Aha, no u mnie nie zaobserwowałem takich opóźnień przy linii 271 znaków, ale w zasadzie mam całkiem rześki komputer :)
Arch + i3 na SSD robi swoje :)

dragonn   11 #25 14.04.2014 23:12

@robert-km też mam i3 i SSD :P, ale jakoś to rozwiązanie mnie nie satysfakcjonowało ;), możliwe że szybkość tutaj również zależy od emulatora terminala.

dragonn   11 #26 14.04.2014 23:13

I Arch oczywiście :P

robert-km   4 #27 15.04.2014 14:29

@watchmaker:
Fish jest z założenia konsolą interaktywną - nie służy do pisania skryptów, chociaż składnie ma dużo czytelniejszą w porównaniu do basha. Poza tym możemy w trakcie pisania skryptu naciskać enter, a fish automatycznie zrobi wcięcia, dzięki czemu znacznie wygodniej pisze się polecenia 'z palca'.

Pod jakim względem $status jest lepsze od $? ? Pod takim, że jeżeli jesteś przeciętnym użytkownikiem i raz do roku sprawdzasz co zwróciło polecenie, to jednak zapamiętanie, że jest to $?, a nie $# albo $_ albo $@ jest znacznie trudniejsze.
Poza tym zwróć uwagę na to, jak używanie takich symboli zmniejsza czytelność kodu.

Z wymienionych przez ciebie rzeczy służących do pisania skryptów nic nie działa w zasadzie.
Nawet deweloperzy nie próbują pod tym względem rywalizować z bashem, który długo jeszcze będzie standardem. Mimo wszystko fish rozwija się dużo szybciej od basha, a żądane prez użytkowników funkcje są wdrażane dosyć szybko.

W fishu np zabronione jest używanie zmiennych jako komend (chyba, że użyjemy eval).

007arek   2 #28 15.04.2014 22:30

Jak ma się fish do zsh? Oraz czy w fishu działają skrypty pisane dla basha?

robert-km   4 #29 15.04.2014 22:45

@007arek
Zsh trzeba sobie skonfigurować, ale w efekcie dostaniesz potężniejsze środowisko. Z tym, że nie tak intuicyjne, szczególnie dla początkującego użytkownika. Fish wprowadza własne funkcje i nie rozumie tych 'bashowskich', ale zazwyczaj w skryptach jest w pierwszej linijce dla jakiego języka był pisany.
Na przykład #!/bin/bash oznacza, że skrypt ma zostać wykonany przez basha, więc tym w ogóle nie musisz się przejmować.

watchmaker   4 #30 15.04.2014 22:45

@007arek
Nie działają. No może jakieś naprawdę podstawowe zadziałają. Ten (fish) shell jest niekompatybilny z POSIX i wiele rzeczy ma po swojemu, jak chociażby ten nieszczęsny $status i parę innych. Praktycznie brak jakichkolwiek zaawansowanych rzeczy... Słabo jeśli chodzi o skryptowanie. IMO nadaje się dla początkujących ale jeśli na tym poprzestaną to biada im ;-)

@robert-km
Dzięki za odpowiedź, w sumie Twoja i powyższa moja wypowiedź sprowadzają fisha do jednego - zabawka dla dzieci ;-) Tak swoją drogą ciekawe porównanie znalazłem: http://hyperpolyglot.org/unix-shells
Warto się zapoznać.

robert-km   4 #31 15.04.2014 23:47

@watchmaker : Nie zgodzę się z tym stwierdzeniem. Wynika z niego, że jak powłoka nie jest idealna w pisaniu skryptów, to nie nadaje się do codziennego użytku. Jest wręcz przeciwnie. Teraz polecam taką kombinację: bash do skryptów, fish do interakcji.

Areh   17 #32 16.04.2014 08:04

"Historia - w bashu do ustawienia (standardowo jest ustawiona na 100 poleceń,"

Debian, standardowe ustawienia. W tej chwili w historii mam niecałe 367 poleceń (dziwna liczba, tym bardziej że mam tam najnowsze i bardzo stare, a nie ma wielu w środku).

Co do fisha - wczoraj zainstalowałem i testuję. Jak na razie bardzo pozytywne odczucia.

watchmaker   4 #33 16.04.2014 20:36

@robert-km
Nie deprecjonuję fisha jako takiego, choć ma on pewne wady a pierwszą jest niekompatybilność z bashem - defacto standardem w Linuksie o czym nie raczysz wspomnieć. Jasne, fajnie jak masz takie cudne kolorowanie składni oraz autouzupełnianie i inne pomniejsze zalety o których napisałeś. Naprawdę fajnie. Ale dla kogo jest ten fish? Ja jestem leniem i parafrazując starą anegdotkę - fish to staroafrykańskie słowo oznaczające "nie umiem skonfigurować zsh" - mogę sobie tego używać jako wiosła na konsoli. Dla nowicjuszy idealna sprawa, pytanie, czy kiedykolwiek nauczysz się (dobrze) pisać w bashu siedząc w fishu? Wątpię. Nie wyobrażam sobie, że ktoś nie wie po co mamy "$?" albo co robi "sudo !!" o bardziej zaawansowanych rzeczach nie wspominam nawet...

robert-km   4 #34 16.04.2014 21:35

@watchmaker
Z tego co piszesz, wnioskować można, że powłoki używasz tylko do pisania skryptów, które koniecznie muszą być kompatybilne z bashem. Jeżeli masz takie wymagania, to pisz .sh z #!/bin/bash i tyle.
Nie sądze, aby kompatybilność z bashem była wymogiem dla jakiejkolwiek konsoli, tak samo jak kompatybilność z csh nie była pierwotnym zamierzeniem basha. Po prostu jest to zawsze coś innego.
Czy minusem Javy jest to, że ma inną składnię niż C? Nie sądzę. Dlatego uważam, że najlepiej jest chociaż dowiedzieć się, że są inne powłoki, które równie dobrze (a nawet lepiej, co chciałem pokazać) działają out-of-box.
Jak już tak bardzo ci zależy, to możesz sobie ustawić stworzyć funkcję o nazwie $?, która zwraca $status. A co do !!:
echo "Hello world!!"

watchmaker   4 #35 17.04.2014 00:49

@robert-km
Akurat bash jest wszędzie, jest standardem na dzień dzisiejszy czy Ci się to podoba czy nie,
jak już pokazujesz to warto uczulić na pewne odmienności i wady fish vs rest of the world - choćby via ten link:
http://hyperpolyglot.org/unix-shells
Sam zastanawiam się tylko dla kogo jest ten interfejs? Dla wyjadaczy? Może... Ale nie oszukujmy się - jak ktoś pracuje np. w gitcie na okrągło na kij mu te podpowiedzi, po pewnym czasie kolory zaczynają irytować i w niczym nie pomagają (dużo użyteczniejszy okazuje się zsh-git-prompt, o!), rozpraszają, itd. Uzupełnianie parametrów jest fajną sprawą, jednak DUŻYM problemem jest dostępność "egzotycznych" powłok - mówiąc ogólnie - w pracy, a jak się przyzwyczaisz do wydawania poleceń tabem... to powrót na ziemię jest bolesny i mocno frustrujący, niestety.

Dla nowych w świecie Linuksa? Może... Ale jak przywyknie do dziwnych wynalazków fisha a zakładam, że wyjdzie poza trywialne wydawanie poleceń i od czasu do czasu napisze jakiegoś one-linera lub o zgrozo jakiś 3-linkowy skrypt to będzie w dup*e czarnej jak posadzą go z terminalem z tcsh. Przesadzam oczywiście, ale... taka refleksja może:
Ty (jak mniemam) i ja byliśmy tu i tam i z niejednego shella chleb jedliśmy, możemy się bawić, wiemy że gdzieś tam jest coś jeszcze. Natomiast doskonale wiem jak działa "świeży" umysł - daj mu zabawkę i wsiąka. Kto wie, może za 5 lat fish będzie standardem w świecie *nix, przegoni basha i zsh razem wzięte (ja się dostosuję). Nie chciałbym jednak do tego czasu na panelu technicznym usłyszeć odpowiedzi "$status" na pytanie "a jak sprawdzić w konsoli kod wyjścia polecenia?"
Ha! A jak już jesteśmy w temacie paneli pytanie z echo i dwoma !! jest często w zestawie, i jak gość jest cwaniak to żeby zamieszać pytam tak "Są tu dwa problemy; rozwiązanie jednego rozwiązuje drugi? Jakie to problemy (i rozwiązanie)?" Kiedyś może o tym napiszę coś więcej, może na blogu, może ;-)

dragonn   11 #36 17.04.2014 20:32

@watchmaker ale używania fish nie spowoduje że magicznie przestaną Ci działać skrypty bash, ja Linuksa i bash używam już ~6-7 lat, skrypt bash już nie jeden napisałem, ale fish mi bardzo do gustu przypadł, może zsh jest lepszy, ale szczerze, po prostu nie mam ochoty znowu się uczyć konfiguracji kolejnego programu, fish działa bardzo fajnie out-of-the-box i to moim zdaniem jest jego największą zaletą.

nie_lubie_informatyki   3 #37 28.04.2014 20:09

ja tam zostaję przy Bashu, a jak się czegoś uczyć z kodowania, to prędzej maglować java/c++/php
czy nawet python/perl

ale nie przeczę, że jest coś co ma bardziej "przyjacielską" dla czlowieka składnie, najprawdopodobniej ta powłoka taka właśnie jest.

no, ale bash wypracował już swój standard, pełno w Googli jest topiców, ludzie z rozwiązanymi problemami, gotowe skrypty, etc