Diversity w polskim IT
Shivangi Sareen
Shivangi SareenComputer Engineer @ American Express

5 komend Basha, które sprawią Ci frajdę

Shell Scripting sprawia frajdę, o ile znasz przydatne komendy. Kliknij artykuł i sprawdź, czy znasz te wymienione poniżej 👇
8.04.20223 min
5 komend Basha, które sprawią Ci frajdę

Shell Scripting daje tyle frajdy! A da Ci jeszcze więcej, jak rozeznasz się w tych wszystkich jego narzędziach. Do pokazania tego wszystkiego, co chcę pokazać, użyję Terminala. Jeśli chcecie korzystać z Linuksowego wiersza poleceń na Windowsie, otwórzcie PowerShell lub wiersz poleceń i wpiszcie bash. Możecie również wyszukać bash w pasku wyszukiwania i otworzyć bash w oknie komend. Większość z narzędzi, które chcę tutaj omówić, nie jest preinstalowana. Trzeba je więc zinstalować. Ja używam Homebrew, bo działam na MacOS. 

Fragment pochodzi ze strony internetowej poświęconej Homebrew: 

Homebrew instaluje wszystko to, czego potrzebujesz, a czego Apple lub Twój Linux nie mają. 

Homebrew instaluje pakiety do swojego własnego katalogu, a następnie tworzy symlink dla jego plików w /usr/local.


Tak to właśnie wygląda:

$ brew install <name-of-package>

tldr

  • $ brew install tldr: tldr to narzędzie, które pokazuje Ci, jak użyć danej komendy Basha. Na przykład:


$ tldr grep



tldr grep


$ tldr find



tldr find


tldr zadziała z praktycznie każdą komendą basha. Spójrzmy na kilka sposobów, w jakie możemy jej użyć.

TL;DR to skrót od “Too Long; Didn’t Read” - zazwyczaj umieszcza się go pod zbyt długimi wpisami internetowymi jako wyraz dezaprobaty wobec tego, jak bardzo autor się rozpisał. 

ShellCheck

  • $ brew install shellcheck: shellcheck wykorzystuje się do sprawdzania, czy w skryptach wszystko gra. Uwaga: ShellCheck obsługuje tylko sh/bash.

$ shellcheck <name-of-bash-file>

ShellCheck ma na celu:

Zwrócenie uwagi i wyjaśnienie prostych problemów ze składnią, które wyrzucają zagadkowe informacje o błędach.

Zwrócenie uwagi i wyjaśnienie bardziej zaawansowanych problemów semantycznych, które powodują, że shell zachowuje się dziwnie i niezgodnie z intuicją. 

Zwrócenie uwagi na przypadki szczególne oraz pułapki, które mogą sprawić, że działający skrypt przestanie działać przy odpowiednich warunkach.

Źródło: GitHub


Dla zademonstrowania działania ShellCheck użyję skryptu, który znalazłam tutaj. Oto ten sam skrypt w VIM:

example.sh


Oto wynik komendy ShellCheck:

shellcheck example.sh


Zrobiło to na mnie duże wrażenie!

history

  • $ history: komenda ta daje listę komend, których właśnie użyliśmy w terminalu bash. Jest to znacznie lepszy sposób na przeglądanie poleceń, niż używanie strzałki w górę (łatwo się wtedy zgubić i nic nie znaleźć).

fzf

  • $ brew install fzf: fzf to narzędzie, które działa jak interaktywy grep (grep to narzędzie dopasowujące wzorce).


Biorąc pod uwagę skrypt example2.sh, w pliku możemy interaktywnie wyszukać czegokolwiek, przesyłając zawartość pliku do fzf:

cat example2.sh | fzf


cat example2.sh | fzf


Aby wyjść z trybu wyszukiwania, naciśnij Esc + q + Enter. Plik, który tutaj pokazałam, nie jest oczywiście w stanie pokazać pełni możliwości fzf. 

broot

  • $ brew install broot: na ls nie zawsze łatwo się patrzy. Wyświetla ono po prostu wszystkie pliki i katalogi w terminalu. Jest więc nieefektywne, jeśli chodzi o nawigację i lokalizowanie niektórych plików/folderów. Zamiast tego możemy wykorzystać broot - narzędzie, które w prosty sposób wyświetla listę katalogów i plików. Gdy znajdujesz się katalogu, o który Ci chodzi, wpisz broot i naciśnij enter. Pojawi się wtedy lista katalogów i plików (skoordynowane kolorami w celu dopasowania do typu). Możesz wejść do katalogu, aby dokładniej zobaczyć jego zawartość. broot pozwala również otworzyć plik bezpośrednio z terminala w domyślnej aplikacji dla tego typu plików.


Prawda, że świetne? Sprawdź sam!


Oryginał tekstu w języku angielskim możesz przeczytać tutaj

<p>Loading...</p>