bash: Bir dosyanın satırları üzerinde döngü


-2

İşte betiğim:

#! /bin/sh

for line in $(cat list);
do
    echo "[$line]: Getting my workers list..";
    var=$line-"worker1";
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker2";
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker3";
    echo "$var" >> "hostlistworkers.txt"
done
fi

Lütfen, dosyanın ilk satırındaki davranışı nasıl değiştirebilirim? bu şekilde:

   If(it is the first line)
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker2";
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker3";
   Else 
   echo "[$line]: Getting my workers list..";
    var=$line-"worker1";
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker2";
    echo "$var" >> "hostlistworkers.txt"
    var=$line-"worker3";
    echo "$var" >> "hostlistworkers.txt"

Yardımlarınız için çok teşekkür ederim.


5
Bu gerçekten Yığma Taşması içinde sorulmalı, tüm programlama ile ilgili mesajların olduğu yer burasıdır. Ayrıca, zaten neyi denediğinizi ve bunun işe yarayıp yaramadığını ve aldığınız herhangi bir hata mesajını açıklamanız gerekir.
James

1
betik dilini belirtmelisiniz, örneğin bash ve tag, bash ise bash .. not et ki her zaman bir bash bekliyorum ama stackoverflow.com/questions/5725296/… senin durumunda.
barlop

Yanıtlar:


2

Sadece bir bayrak ilan edin:

FIRST=0

if [ ! $FIRST ]; then
  ; do what you need
  FIRST=1
else
  ...
fi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.