The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Das Lesen einer Datei mit sh mit Leerzeichen im Dateinamen jekl5 Shell Programmierung und Scripting 4 02-29-2008 10:18 AM
Wie druckt Argumente zusammen mit Räumen mit awk jisha Shell Programmierung und Scripting 8 01-17-2008 01:43 AM
Lesen einer Zeile inklusive Leerzeichen aksarben UNIX for Dummies Questions & Answers 1 09-19-2007 08:39 PM
Bash: Lesung 2 Argumente von der Kommandozeile aus Vozx Shell Programmierung und Scripting 0 12-08-2005 05:23 PM
Lesung Laufzeit Argumente aus einer Datei Sabari Nath S UNIX for Dummies Questions & Answers 4 08-24-2005 10:38 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 04-22-2009
Calypso Calypso is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 29
Lesung im Argumente mit Leerzeichen

Ich möchte zu können, lesen Sie in der Eingabe, die Leerzeichen enthalten und dass in einem Array. Jedes Feld sollte delimeted von einem Leerzeichen und sollte ein anderes Element. Aber ich kann es an die Arbeit. irgendwelche Tipps?


Code:
read input
//type field1 field2 field3
echo "$input"
array="$input"

Vielen Dank im Voraus

Calypso
  #2 (permalink)  
Old 04-22-2009
cfajohnson's Avatar
cfajohnson cfajohnson is online now Forum Advisor  
Shell-Programmierer, Autor
  
 

Join Date: März 2007
Ort: Toronto, Kanada
Beiträge: 2365

Code:
read input
set -f
IFS=' '
array=( $input )

  #3 (permalink)  
Old 04-23-2009
Calypso Calypso is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 29
Vielen Dank dafür, das Problem ist nur, dass, wenn ein Gespeichert ist ein Metacharacter zum Beispiel "*" it doesnt scheint zu funktionieren. Ive versucht sich im Netz, aber ich kann Sie alle ähnliche Beispiele, weitere Ideen?


Calypso
  #4 (permalink)  
Old 04-23-2009
lavascript lavascript is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 47
Probieren Sie etwas wie folgt aus: --


Code:
#!/bin/ksh

input="$@"

set -A array $input

print "Array element 0 = ${array}"
print "Array element 1 = ${array[1]"
print "Array element 4 = ${array[4]"

Rufen Sie mit:


Code:
# ./script zero one two three four

  #5 (permalink)  
Old 04-23-2009
cfajohnson's Avatar
cfajohnson cfajohnson is online now Forum Advisor  
Shell-Programmierer, Autor
  
 

Join Date: März 2007
Ort: Toronto, Kanada
Beiträge: 2365
Zitat:
Zitat von Calypso View Post
Vielen Dank dafür, das Problem ist nur, dass, wenn ein Gespeichert ist ein Metacharacter zum Beispiel "*" it doesnt scheint zu funktionieren. Ive versucht sich im Netz, aber ich kann Sie alle ähnliche Beispiele, weitere Ideen?

Sie müssen Ihre Eingabe zitieren, wenn es Jokerzeichen.

(Und bitte nach dem Code, den Sie derzeit verwenden.)

Zuletzt bearbeitet von cfajohnson; am 04-23-2009 01:34 PM..
  #6 (permalink)  
Old 04-23-2009
Calypso Calypso is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 29
Hi lavascript,

leider nicht seine Argumente im Skript zu trennen, im Lesen Benutzereingabe in einer while-Schleife z. B.

während die wahre
Sie lesen Beiträge
# Split Eingang hier in Array-Elemente
getan

Ich bin auch mit bash-Shell-A und gibt mir ein Fehler

"Zeile 84: Set: A-ungültig Optionen"
  #7 (permalink)  
Old 04-23-2009
lavascript lavascript is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 47
ok entschuldigt Set-A ist für ksh.

Sind Sie Sie eine while-Schleife für eine andere Aufgabe oder ist es nur für diese Funktion?

Angenommen, Sie wollen andere Dinge in Ihrem while-Schleife können Sie versuchen, den Code unten. Ansonsten brauchen Sie nicht die Zeit. Sagen, dass können Sie während statt, aber unter müssten Änderungen.


Code:

array=""
array_count=0

for element in $input
do
     ... do some checking....
     array[$array_count]=$element
     ... do other stuff .....
     array_count=$(( $array_count + 1 ))
done

Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 11:53 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0