The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Hjälp hur ersätta stardard tangentbord insatsvaror av argument vid köra Temne av ett manus Dingrong UNIX for Dummies Frågor & Svar 6 10-14-2008 04:46
Hjälp i förbigående rad ingångar till C-program med hjälp av skript? ahjiefreak Shell-programmering och Skript 1 03-20-2008 07:36
Skicka tomma argument för att ett manus rm-r UNIX för avancerade & Expertanvändare 7 01-08-2008 08:56
Shell script med argument sankar6254 Shell-programmering och Skript 3 12-22-2003 09:21
Skicka argument för att ett manus Kevin Pryke Shell-programmering och Skript 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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 11-17-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Registered User
  
 

Join Date: Nov 2008
Ort: olika
Inlägg: 188
Question använda flera ingångar som argument i mitt manus

Hallå där,
Det är ganska svårt för mig att förklara mitt problem eftersom jag affraid jag inte använder rätt vokabulär. Så låt mig beskriva situationen. Jag skrev ett manus som har ett argument. Det fungerar så här:
Kod:
~$ cat /usr/local/bin/squote
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ squote It\'s great
'It'\''s great'
Vad behöver jag göra om jag vill ha mitt manus att arbeta i följande situation?
Kod:
~$ echo It\'s great | squote
''
~$ cat file | squote
''
~$ squote < file
''
Tack på förhand
Santiago

Uppdatering:
Nu har jag upptäckt att jag kan läsa från / dev / stdin. Jag skrev följande skript:
Kod:
~$ 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'
Hur kan jag veta från vilken input argumentet kommer?

Senast redigerad av chebarbudo; 11-17-2008 vid 10:15.. Orsak: hittat en del av svaret
  #2 (permalänk)  
Old 11-18-2008
Christoph Spohr Christoph Spohr is offline
Registered User
  
 

Join Date: Sep 2008
Inlägg: 205
Du kan testa om manus hette med ett argument:

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

Vilket betyder: om längden på de argument ($ @) är noll (-z) skriv sedan ut "No input" annat skriva ut strängen i rymt form. Jag inte inte vad du vill uppnå, men om du försöker fly strängar, kontrollera% q möjlighet printf.

Om du kallar testscript detta sätt:

testscript "h's m"

Det ger dig:

Ingång: h \ 's \ m
  #3 (permalänk)  
Old 11-22-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Registered User
  
 

Join Date: Nov 2008
Ort: olika
Inlägg: 188
Thx Christoph,
Även printf är en mycket bättre funktion för mitt manus, du inte svarar alls till mitt problem. Vad jag behöver är ett sätt att göra skriptet arbete i följande situation:
Kod:
~# cat /usr/local/bin/squote
[[ -z "$@" ]] && printf "No input\n" || printf "Input: %q\n" "$@"
~# echo "h's m" | squote
No input
Closed Thread

Komihåglista

Taggar
argument, input

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 05:55.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0