TechRetriever
Workflows

Create bash script: bestanden die je kunt lezen en testen

03
Een terugkerende klus

Van terugkerende klus naar script

Wie zoekt op “create bash script” of “write bash script” heeft meestal één klus die hij met de hand herhaalt, zoals logbestanden in een map tellen. Begin met één klus. Het doel is een bestand dat je kunt lezen, testen en opnieuw kunt draaien, en hier schrijft de agent het, controleert de syntaxis en toont elk resultaat als kaart.

01

Open de projectmap

Kies de map met je scripts, of een lege, als werkmap van de chat. De bestandstools werken daarbinnen.

02

Beschrijf de klus

Zeg wat het script moet lezen, wat het moet afdrukken en wat het niet mag wijzigen, bijvoorbeeld een telling van logbestanden zonder schrijfacties.

03

Controleer het plan

Kies Plan only om het script te laten uitleggen zonder het uit te voeren, of Ask first om elke actie die iets wijzigt goed te keuren.

04

Uitvoeren en controleren

Draai bash -n, daarna een proef op een testmap, en vergelijk de uitvoer en exitcode van elke kaart met wat je verwachtte.

Een voorbeeld zonder schrijfacties om te kopiëren

count-logs.sh
#!/usr/bin/env bash
# count-logs.sh - count lines in .log files of a folder
# usage: bash count-logs.sh [folder]   (read-only)
set -eu

dir="${1:-.}"
count=$(find "$dir" -maxdepth 1 -name "*.log" | wc -l)
echo "found $count log file(s) in $dir"
for file in "$dir"/*.log; do
  [ -e "$file" ] || continue
  wc -l "$file"
done

Het script telt .log-bestanden met find en drukt van elk het aantal regels af met wc. Het leest alleen, en set -eu laat de shell stoppen bij een niet-ingestelde variabele en bij de meeste mislukkende commando's.

Twee scripts om hierna te bouwen

Feedback krijgen op je eerste Bash-script

Plak je eigen concept in de werkmap en vraag de agent het te beoordelen. read_file laadt het script, grep vindt de plekken waar een variabele wordt gebruikt, en de agent wijst op ontbrekende dubbele aanhalingstekens, ongecontroleerde argumenten en onduidelijke namen. Dezelfde beoordeling werkt op je Bash-opstartbestand: vraag welke commando's erin bij elke start draaien. In Plan only legt de agent het script uit zonder het uit te voeren. Als je om verbeteringen vraagt, toont edit_file elke wijziging als diff, en je accepteert die pas als je hem begrijpt.

Een aftelklok bouwen

Een eenvoudige Bash-timer voor beginners heeft alleen een variabele, een for-lus, echo en sleep nodig. Vraag de agent om een aftelling die het aantal seconden als $1 neemt en de resterende seconden afdrukt. write_file slaat countdown.sh op, en Shell draait bash -n en daarna een proef met een klein getal zoals 3. Omdat sleep alleen wacht, wijzigt het script niets op de schijf. Ideeën zoals afbeeldingen omzetten naar ASCII met Bash bouwen op dezelfde lussen en variabelen voort, al vragen beeldformaten meer zorg. Let op de uitvoerkaart, controleer de exitcode en lees de code voordat je hem hergebruikt.

TechRetriever voor Windows

Draai je eerste script op een testmachine

TechRetriever downloaden ↗