# Command-Line Shell · Arch Linux CZ
Česká komunita Arch Linuxu
Author: Arch Linux CZ
Keywords: shell,

↓ Přeskočit na hlavní obsah

# Command-Line Shell

1. dubna 2022·641 slov·4 min
Návody Shell
Autor
Arch Linux CZ
Návody, novinky a podpora pro uživatele Arch Linuxu v češtině.

V dalším díle seriálu Tondy Fischera se podíváme na prostředí příkazového řádku. Představíme si postupně 3 nejrozšířenější shelly v GNU/Linux (sh nepočítám). Shells si postupně nakonfigurujeme a přizpůsobíme opět pro nejlepší efektivitu svojí práce. Terminálové aplikace se tak dostanou na zcela jinou úroveň, se kterou se často nemohou měřit ani normální aplikace s tlačítky. Batch processing je nenahraditelnou součástí pokročilého používání počítačů, historie příkazů a fuzzy processing je něco, co se jiným operačním systémům ani nesnilo.

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
#

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

#
#

# Zsh
#

##
#

## Zsh Instalace
#

My použijeme jako náš systémový shell ZSH.

    sudo pacman -S zsh
    chsh -s /usr/bin/zsh
    nvim ~/.zshrc

Použijeme Oh My Zsh. Nebo GitHub OhMyZsh.

    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

##
#

## Zsh Prompt Themes
#

    # 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"

##
#

## Instalace Zsh plugins
#

    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

##
#

## Instalace Colorscriptů
#

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

#
#

# Fish
#

Arch wiki https://wiki.archlinux.org/title/Fish

##
#

## Fish Instalace
#

    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/nvm.fish@2.1.0
    fisher list | fisher remove
    # next useful scripts
    paru -S lolcat exa fd bat timg p7zip glow

## STARSHIP Cross-Shell Prompt Instalace
#

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

### Personal Starship Settings
#

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 jako uživatelský interaktivní shell
#

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

##
#

## Fish Raven2cz Dotfiles
#

Zkopírujte fish adresář do `~/.config/fish` z raven2cz dotfiles.

    nvim ~/.config/fish/config.fish

#
#

https://www.youtube.com/watch?v=_K4ESyYuzE0

# Důležité odkazy
#

- Youtube Channel TUX: Svět Linuxu

- archlinux.org

- wiki.achlinux.org

- fishlive.org/blog

- github/raven2cz/tux

- github/raven2cz/dotfiles

- Peertube kanál Arch Linux Cz

↑