The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Aide stardard comment remplacer les entrées clavier par des arguments au moment de l'exécution d'un script Dingrong UNIX pour les nuls Questions et réponses 6 10-14-2008 04:46 AM
Aide au passage tableau des facteurs de programme en C en utilisant le script? ahjiefreak De programmation et de script Shell 1 03-20-2008 07:36 AM
Passage à vide des arguments d'un script rm-r UNIX for Advanced & Expert Users 7 01-08-2008 08:56 PM
Shell script avec les arguments sankar6254 De programmation et de script Shell 3 12-22-2003 09:21 AM
Passer les arguments d'un script Kevin Pryke De programmation et de script Shell 3 06-14-2002 10:06 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-17-2008
chebarbudo's Avatar
chebarbudo chebarbudo is online now
Registered User
  
 

Date d'inscription: novembre 2008
Lieu: divers
Messages: 188
Question utiliser plusieurs entrées comme arguments dans mon script

Salut,
Il est très difficile pour moi d'expliquer mon problème, parce que je suis, je suis peur de ne pas utiliser le bon vocabulaire. Alors permettez-moi de décrire la situation. J'ai écrit un script qui a un seul argument. Il fonctionne comme ceci:

Code:
~$ cat /usr/local/bin/squote
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ squote It\'s great
'It'\''s great'

Que dois-je faire si je veux que mon script de travailler dans la situation suivante?

Code:
~$ echo It\'s great | squote
''
~$ cat file | squote
''
~$ squote < file
''

Merci d'avance
Santiago

Mise à jour:
Maintenant, j'ai constaté que je peux lire à partir de / dev / stdin. J'ai écrit le script suivant:

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'

Comment puis-je savoir qui d'entrée de l'argument est à venir?

Dernière édition par chebarbudo; au 11.17.2008 10:15 PM.. Motif: trouvé une partie de la réponse
  #2 (permalink)  
Old 11-18-2008
Christoph Spohr Christoph Spohr is offline
Registered User
  
 

Join Date: Sep 2008
Messages: 205
Vous pouvez tester, si le script a été appelé avec un argument:

[[-Z "$ @"]] & & printf "Pas d'entrée \ n" | | printf "Input:% q \ n" "$ @"

Ce qui signifie: si la longueur des arguments ($ @) est nul (-z) puis l'imprimer "No input" else print échappé à la chaîne dans la forme. Je ne suis pas non, ce que vous voulez atteindre, mais si vous essayez d'échapper à cordes, de vérifier le% q option de printf.

Si vous appelez la TestScript de cette façon:

TestScript "h du m"

il vous donnera:

Entrée: h \ 's \ m
  #3 (permalink)  
Old 11-22-2008
chebarbudo's Avatar
chebarbudo chebarbudo is online now
Registered User
  
 

Date d'inscription: novembre 2008
Lieu: divers
Messages: 188
Thx Christoph,
Bien que printf est une fonction beaucoup mieux pour mon script, vous ne répondez pas du tout à mon problème. Qu'est-ce que j'ai besoin est un moyen de rendre le travail de script dans la situation suivante:

Code:
~# cat /usr/local/bin/squote
[[ -z "$@" ]] && printf "No input\n" || printf "Input: %q\n" "$@"
~# echo "h's m" | squote
No input

Closed Thread

Bookmarks

Tags
arguments, d'entrée

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 04:11 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0