Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

"einfache" Shell Skript Frage

GNU/Linux-, *BSD- und Fricklerforum
Antworten
cHises
Klesk
Klesk
Beiträge: 793
Registriert: Mär 2004

"einfache" Shell Skript Frage

Beitrag von cHises »

.. hoffe mir kann es hier jemand ganz kurz erläutern weshalb bei folgendem Skript:

Code: Alles auswählen

#!/bin/sh

echo $TMP #VARIABLE leer
for TMP
do :
echo $TMP #Variable enthält Daten
done
die Variable am Anfang leer ist uns später Daten enthält.
aufruf: programmName pm1 pm2 pm3

Beim ersten "echo" wird nichts ausgegeben und beim Durchlauf der for-Schleife werden beim echo die Parameter nach und nach ausgegeben ($1, $2, $3)

Bitte um aufklärung. Was bewirkt der Befehl

Code: Alles auswählen

for variable

genau? wieso werden da Daten in variable gespeichert?
cHi-ses- is ALIVE
pawlak
Assist
Assist
Beiträge: 5811
Registriert: Feb 2002

Beitrag von pawlak »

Da fehlt aber was. Es wird nichts von $1, $2 oder $3 ausgegeben, davon steht ja auch nichts im Script.

Edit: man sollte natürlich erstmal einen Kaffee trinken und das Script dann auch mit $1,2,3 aufrufen :_
Original geschrieben von pagenez
ach und pawlak?
du verhurrtes stück einer dreckwurst, halt doch bitte dein maul, ja? wer absolut kein real-life hat, einer wie du, der absolut nichts zu tun hat, als seine scheiße im irc auf andere abzulassen, sollte sich seinen daumen in das arschloch schieben, die augen schließen und dabei an *****n denken.
alles klar?
gut!
onkelcolo
Bitterman
Bitterman
Beiträge: 184
Registriert: Mai 2009

Beitrag von onkelcolo »

Aus bash(1):

Code: Alles auswählen

       for name [ [ in [ word ... ] ] ; ] do list ; done
              The  list  of words following in is expanded, generating a list
              of items.  The variable name is set to  each  element  of  this
              list  in  turn, and list is executed each time.  [color=lightblue][b]If the in word
              is omitted, the for command executes list once for  each  posi‐
              tional  parameter  that  is  set[/b][/color]  (see  PARAMETERS below).  The
              return status is the exit status of the last command that  exe‐
              cutes.   If  the expansion of the items following in results in
              an empty list, no commands are executed, and the return  status
              is 0.
Diese "positional parameters" sind $1, $2, ... $9, und werden durch den Argumentvektor an der aufrufenden Kommandozeile gesetzt.

Der Doppelpunkt : hinter deinem do ist uebrigens kein Teil der Syntax, sondern ein (ueberfluessiger) Aufruf eines Shell-Builtins, das immer EXIT_SUCCESS zurueckgibt (wie auch z. B. /bin/true).
ytary.
cHises
Klesk
Klesk
Beiträge: 793
Registriert: Mär 2004

Beitrag von cHises »

danke, der auszug hat es mir nun klar gemacht :) ty!
cHi-ses- is ALIVE
Antworten