Většina vývojářů používá bash každý den, ale využívá sotva 10 % jeho možností. Tady je 10 triků, které vám reálně ušetří hodiny práce týdně.
1. Reverse history search (Ctrl+R)¶
Místo šipky nahoru stokrát — stiskněte Ctrl+R a začněte psát část příkazu. Bash prohledá historii a nabídne nejnovější shodu.
Ctrl+R → “docker” → najde poslední docker příkaz¶
(reverse-i-search)`docker’: docker compose up -d
2. Brace expansion¶
Vytvořte víc souborů nebo adresářů najednou:
mkdir -p project/{src,test,docs,config}
touch app.{js,css,html}
cp config.yml{,.backup}
3. Process substitution¶
Porovnání výstupů dvou příkazů bez dočasných souborů:
diff <(sort file1.txt) <(sort file2.txt)
diff <(kubectl get pods -n staging) <(kubectl get pods -n production)
4. Xargs pro paralelní zpracování¶
find . -name “*.jpg” | xargs -P 8 -I {} convert {} -resize 50% {}
cat urls.txt | xargs -P 10 -I {} curl -sO {}
5. Bang operátory¶
!! zopakuje poslední příkaz. !$ vezme poslední argument. !^ první argument.
sudo !! # zopakuje poslední příkaz se sudo
mkdir /tmp/test && cd !$ # cd do právě vytvořeného adresáře
6. Heredoc pro multi-line stringy¶
cat << ‘EOF’ > config.json
{
“host”: “localhost”,
“port”: 5432
}
EOF
7. Trap pro cleanup¶
tmpfile=$(mktemp)
trap “rm -f $tmpfile” EXIT
tmpfile se vždy smaže¶
8. Parameter expansion¶
file=”photo.backup.tar.gz”
echo ${file%.tar.gz} # photo.backup
echo ${file##*.} # gz
echo ${file,,} # lowercase
echo ${file^^} # UPPERCASE
9. Set -euo pipefail¶
Tři řádky na začátek každého skriptu:
!/bin/bash¶
set -euo pipefail
IFS=$’\n\t’
10. Rychlé kalkulace¶
echo $((1024 * 1024)) # 1048576
printf “%’d\n” 1000000 # 1,000,000
echo “scale=2; 100/3” | bc # 33.33
Shrnutí¶
Každý týden si vyberte jeden nový trik a používejte ho, dokud se nestane automatickým. Za měsíc budete v terminálu 2× rychlejší.