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.