Vet inte om jag förstod dig precis rätt men. Om du har en befintlig lista du vill lägga till fler värden i så skulle ett script kunna se ut som följande:
#!/bin/bash
for lista in $(cat "$1"); do #En loop startas som kommer gå igenom samtliga rader i angiven lista
echo "$lista" # Värdet från listan skrivs ut
read nyuppgift # Här läses det nya värdet in
echo "$lista" "$nyuppgift" >> "$2" # Lista med både nytt och gammalt värde skrivs
done # Scriptet startar om tills det inte finns några rader kvar i den angivna listan
Nu har jag använt både överdrivet med kommentarer och onödigt långa variabelnamn för att vara extra tydlig.
För att starta skriptet skriver du ./scriptfil /genväg/till/gammal/lista /genväg/till/ny/lista
Vill du skapa en ny lista passar sig detta skriptet bättre.
#!/bin/bash
echo "Fyll i uppgifter och skriv done när du är klar"
until [ "$uppgift" == "done" ] &> /dev/null; do
read uppgift
if [ "$uppgift" == "done" ]; then
echo "" >> "$1"
else
echo "$uppgift" >> "$1"
fi
done
För att köra detta skriver du ./scriptfil /genväg/till/ny/lista
Vill du skapa en lista på alla användare som finns i ditt system kan du använda dig av detta skript.
#!/bin/bash
for lista in $(cat /etc/passwd); do
echo "$lista" | cut -d : -f 1 >> "$1"
done
För att köra detta skriver du ./scriptfil /genväg/till/ny/lista
Lycka till