Vinnaren i pepparkakshustävlingen!
2008-12-25, 01:07
  #1
Medlem
binics avatar
om jag har en fil med massa koder rad efter rad, såhär ungefär:

apt-get install program1
apt-get install program2

osv.

finns det ngt kommando eller script för att läsa in en viss rad och exekvera första 4 orden i den raden?
Citera
2008-12-25, 01:14
  #2
Medlem
ett alternativ kan vara att använda alias.. skriver rakt i terminalen alias update='sudo apt-get update' osv
Citera
2008-12-25, 01:40
  #3
Medlem
sommarlovs avatar
Sedan bör du skriva så här:

apt-get install program1 program2
Citera
2008-12-25, 02:01
  #4
Medlem
binics avatar
tack för svaren, dock inte riktigt vad jag tänkt mig. lite svårt att förklara exakt vad jag är ute efter. men om vi koncentrerar på hur vi kan läsa in x antal ord i en fil och köra dessa. är det möjligt i bash script?


det här är en del av koden, där den läser in en fil via awk och sedan sätter in radnr:

Kod:
awk '{printf("\n%3d: %s\n", NR,$0)}' textfilen

resultatet kan se ut såhär:

1: exekverbarkod från textfilen

2: exekverbarkod från textfilen

jag vill nu exekvera koden på tex rad 2.

som sagt krångligt att förklara. men det hela hade väl löst sig om man kan sätta in en variabel i varje rad via awk men lyckas inte med det.
__________________
Senast redigerad av binic 2008-12-25 kl. 02:05.
Citera
2008-12-25, 06:06
  #5
Medlem
Om du är i awk kan du använda system(). Annars, drar du ut rätt kommandotext med grep, sed eller något liknande så kan du skicka det till skalet ("pipe") så det körs. En tredje möjlighet är att använda eval i sh.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback