Popis shellů je uveden na arch wiki Command-Line Shell.
Základní shelly, které si ukážeme:
Bash
- nejzákladnější shell v GNU/Linux. POSIX complient. Nutný znát v každém případě.https://www.gnu.org/software/bash/Zsh
- Interaktivní používání, silný skriptovací jazyk. POSIX complient. https://www.zsh.org/Fish
- Není POSIX, jde vlastní cestou. Inteligentní a uživatelsky přívětivý shell příkazového řádku. Fish provádí plnobarevné zvýraznění syntaxe příkazového řádku, stejně jako zvýraznění a dokončení příkazů a jejich argumentů, existence souboru a historie. Podporuje kompletní, jak píšete pro historii a příkazy. Fish je schopen analyzovat manuálové stránky systému, aby určil platné argumenty pro příkazy, což mu umožňuje zvýraznit a dokončit příkazy. Snadnou revizi posledního příkazu lze provést pomocíAlt+Up
Pro další info https://fishshell.com/
Bash byl prezentován po celou dobu instalace a používání až do této nahrávky. Pro bash existuje bezpočet návodů, příkladů, psaní skriptů. Určitě doporučuji českou knihu pro shell https://www.alza.cz/media/prikazovy-radek-v-linuxu-d2366810.htm Dokumentace je zde https://www.gnu.org/software/bash/manual/bash.html
My použijeme jako náš systémový shell ZSH.
sudo pacman -S zsh
chsh -s /usr/bin/zsh <user>
nvim ~/.zshrc
Použijeme Oh My Zsh. Nebo GitHub OhMyZsh.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Change theme
ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"
ZSH_THEME="dst"
ZSH_THEME_RANDOM_CANDIDATES=(
"robbyrussell"
"agnoster"
"dst"
)
# Need install p10k!
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(git zsh-autosuggestions zsh-syntax-highlighting z fzf sudo pass)
# Instalace plginu
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
#fzf
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Colorscripty zkrášlují shell a uvozují danou instanci terminálu.
# DT Colorscript
git clone https://gitlab.com/dwt1/shell-color-scripts.git
makepkg -cf
sudo pacman -U *.pkg.tar.zst
# pokemon-colorscript
paru -S pokemon-colorscripts-git
Arch wiki https://wiki.archlinux.org/title/Fish
sudo pacman -S fish
# plugin manager - nutno spoustet z fish shell
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
fisher list
fisher update jorgebucaran/fisher
fisher remove jorgebucaran/[email protected]
fisher list | fisher remove
# next useful scripts
paru -S lolcat exa fd bat timg p7zip glow
Hlavní stránka https://starship.rs/
sh -c "$(curl -fsSL https://starship.rs/install.sh)"
# add last line to your config.fish
starship init fish | source
Moje osobní nastavení starship je v dotfiles uloženo v ~/.config/starship.toml
Toto moje nastavení nepoužívá dvě prompt řádky, ale pouze jednu, plus změnu symbolu. Nejprve zkuste defaultní nastavení a teprve potom můžete testovat tyto změny.
# Don't print a new line at the start of the prompt
add_newline = false
# Make prompt a single line instead of two lines
[line_break]
disabled = true
# Replace the "❯" symbol in the prompt with "➜"
[character] # The name of the module we are configuring is "character"
success_symbol = "[➜](bold green)" # The "success_symbol" is set to "➜" with color "bold green"
# Use custom format
# format = """
# [┌───────────────────>](bold green)
# [│](bold green)$directory$rust$package
# [└─>](bold green) """
# Disable the package module, hiding it from the prompt completely
[package]
disabled = false
Fish budeme používat jako uživatelský interaktivní shell, nikoliv jako systémový (pro init si ponecháme POSIX support).
Do našeho .zshrc
vložíme na konec toto
# jump from zsh to fish
if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" ]]
then
exec fish
fi
Zkopírujte fish adresář do ~/.config/fish
z raven2cz dotfiles.
nvim ~/.config/fish/config.fish