The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Help hoe vervang stardard toetsenbord ingangen door argumenten tijdens het uitvoeren van een script Dingrong UNIX voor Dummies Questions & Answers 6 10-14-2008 04:46
Helpen bij het passeren van array van inputs naar C programma met script? ahjiefreak Programmeren en Shell Scripting 1 03-20-2008 07:36
Passing lege argumenten om een script rm-r UNIX for Advanced & Expert Gebruikers 7 01-08-2008 08:56 PM
Shell script met argumenten sankar6254 Programmeren en Shell Scripting 3 12-22-2003 09:21
Passing argumenten om een script Kevin Pryke Programmeren en Shell Scripting 3 06-14-2002 10:06

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-17-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Geregistreerde gebruiker
  
 

Join Date: november 2008
Locatie: diverse
Posts: 188
Question gebruik verschillende ingangen als argumenten in mijn script

Hi there,
Het is erg moeilijk voor mij om uit te leggen mijn probleem want ik ben bang Ik ben niet de juiste woordenschat. Dus wil ik een beschrijving van de situatie. Ik schreef een script dat is een argument. Het werkt als volgt:
Code:
~$ cat /usr/local/bin/squote
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ squote It\'s great
'It'\''s great'
Wat moet ik doen als ik wil dat mijn script te werken in de volgende situatie?
Code:
~$ echo It\'s great | squote
''
~$ cat file | squote
''
~$ squote < file
''
Thanks in advance
Santiago

Update:
Nu vond ik dat ik kan lezen vanaf / dev / stdin. Ik schreef het volgende script:
Code:
~$ cat /usr/local/bin/squote
cat /dev/stdin | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ echo It\'s great | squote
'It'\''s great'
''
~$ squote It\'s great
# I need to press Ctrl+D
'It'\''s great'
Hoe kan ik weten uit welke ingang het argument komt?

Laatst gewijzigd door chebarbudo; op 11.17.2008 10:15 PM.. Reden: gevonden een deel van het antwoord
  #2 (permalink)  
Old 11-18-2008
Christoph Spohr Christoph Spohr is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 205
Je kunt testen, wanneer het script aangeroepen met een argument:

[[-Z "$ @"]] & & printf "Geen input \ n" | | printf "Ingang:% q \ n" "$ @"

Dat betekent: als de lengte van de argumenten ($ @) is nul (-z), dan print "Geen input" anders print de string in de vorm ontsnapt. Ik ben het niet niet, wat u wilt bereiken, maar als je probeert te ontsnappen strijkers, check het% q optie van printf.

Als u telefonisch testscript deze manier:

testscript "h's m"

Het geeft u:

Ingang: h \ 's \ m
  #3 (permalink)  
Old 11-22-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Geregistreerde gebruiker
  
 

Join Date: november 2008
Locatie: diverse
Posts: 188
Thx Christoph,
Hoewel printf is een veel betere functie voor mijn script, hoef je geen antwoord op alle aan mijn probleem. Wat ik nodig heb is een manier om het script in de volgende situatie:
Code:
~# cat /usr/local/bin/squote
[[ -z "$@" ]] && printf "No input\n" || printf "Input: %q\n" "$@"
~# echo "h's m" | squote
No input
Closed Thread

Bladwijzers

Labels
argumenten, input

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 05:49.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0