Bash je sh-kompatibilní příkazový interpret, který spouští
příkazy čtené z klasického vstupu anebo ze souboru. Bash také
zabudoval užitečné funkce ze shellů Korn a C (ksh, csh).
Bash je určený pro pohodlnou implementaci Shellu a pomůcek
podílejících se na POSIX specifikaci (IEEE Standard 1003.1).
Bash může být jako výchozí konfigurovaný pro POSIX přizpůsobení.
Nastavení
Obecné uživatelské nastavení je v souboru .bashrc, který se nachází
v domovském adresáři uživatele. Dodatečné nastavení profilu, které
je doporučeno pro přizpůsobení, najdeme v souboru .bash_profile.
/home/franta/.bashrc
/home/franta/.bash_profile
Bash_profile
Soubor .bash_profile se nachází v adresáři uživatele a udává
profilové nastavené bashe, které se načítá po přihlášení.
Může obsahovat skripty a vypadat třeba takto:
if [[ -f ~/.bashrc ]] ; then
. ~/.bashrc
fi
export PATH="/home/${USER}/.local/bin:${PATH}"
export ADRESAR_ZALOHA="/mnt/Záloha"
Zde dojde k načtení souboru .bashrc jestliže existuje.
Zkratky - alias
Zkraty se zapisují ve formě: zkratka='příkaz_pro_zkratku'.
Taková zkratka se po zadání „zkratky“ jako příkazu vykoná.
nano ~/.bashrcalias s="startx"
alias home="cd /home/martin"
alias wifi="sudo wifi-menu"
Oddělené aliasy
V souboru .bashrc si načtu samostatný soubor
obsahující aliasy tak, jak jsou běžně zapisované. V mém případě je to
samostaný soubor .bash_alias_standard.
nano ~/.bashrcif [[ -f ~/.bash_alias_standard ]] ; then
. ~/.bash_alias_standard
fi
Automatický start X - nepoužívám
Pokud není spuštěné grafické prostředí, spustí automaticky startx.
Odzkoušeno na Arch Linuxu.
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi
Toto nastavení je pro obecné startování X Serveru v některých případech nepraktické a nepoužívá se.
Bash-completion
Pro rozšířené možnosti doplňování pomocí klávesy TAB můžeme nainstalovat
balíček bash-completion. Tento nástroj se může prát s některými ručně zadanými
nastaveními pro Bash, nicméně pro standardní konfiguraci funguje skvěle.
.bashrc
Vlastní zobrazení v terminálu
Zde je velký prostor pro fantazii a zapnutí terminálu může vypadat jako na obrázku. Použitý terminál je rxvt-unicode a font terminus. Vypíše na začátku základních 16 barev terminálu.
.bashrc:
nano ~/.bashrc:echo -e ' \e[1;32m┌─\e[0;30m▇▇\e[0;31m▇▇\e[0;32m▇▇\e[0;33m▇▇\e[0;34m▇▇\e[0;35m▇▇\e[0;36m▇▇\e[0;37m▇▇\e[1;32m─┬─╼ Máš na to!'
echo -e '\e[1;32m╾─┴─\e[01;30m▇▇\e[01;31m▇▇\e[01;32m▇▇\e[01;33m▇▇\e[01;34m▇▇\e[01;35m▇▇\e[01;36m▇▇\e[01;37m▇▇\e[1;32m─┴─╼ Prostě to udělej!'
reset=$(tput sgr0)
bold=$(tput bold)
PS1="\n\[\e[1;32m\]┌[\[\e[1;36m\u\e[1;32m\]]─[\e[1;37m\w\e[1;32m]─[\[\e[1;36m\]${HOSTNAME%%.*}\[\e[1;32m\]]─\033[01;32m(\t) \n\[\e[1;32m\]└─╼ \[\e[00;00m\]"
# ls a cd
function cdls { cd "$1"; ls --color;}
alias cd='cdls'
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
Použití více řádků jako základ terminálu - Nepěkné je, když je potřeba překreslovat a roztahovat či
smršťovat okno s terminálem. Dochází k odskokům zřejmě kvůli navýšení
popsaných řádků po inicializaci - takže jsem od víceřádkových výpisů upustil.