Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
739 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Passer tout les paramètres en un seul paramètres -SHELL

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passer tout les paramètres en un seul paramètres -SHELL

n°1374233
leclowndu3​1
Posté le 03-03-2015 à 16:07:06  profilanswer
 

Bonjour,
 
Je me suis mis il y a un mois à la programation et je commence à m'habituer à l'environement GNOME. Je voudrais comme son titre l'indique que tout mes paramètres soit en un seul paramètres.
 
 
 
Pour ceux qui veulent plus de détails, je voudrais taper dans mon terminal (>recherche coline bleu) et sa me recherche sur google coline bleu. Voici ce que j'ai fait en Shel
#!/bin/bash                                                                      
# affiche_param.sh                                                              
 
echo"$*"
firefox -search $*
"
 
LE PROBLEME -> Quand je le lance firefo me fait bien une recherche sur 'coline' mais il croit que bleu est une adresse url et m'ouvre dans une autre fenetre www.bleu.com ....; HELP ME (T.T)


Message édité par leclowndu31 le 03-03-2015 à 16:08:15
mood
Publicité
Posté le 03-03-2015 à 16:07:06  profilanswer
 

n°1374253
l4nkou
Dr House Fan
Posté le 03-03-2015 à 20:16:01  profilanswer
 

firefox -search "$*"


---------------
Les avis, c'est comme les anus, tout le monde en a un.
n°1374255
leclowndu3​1
Posté le 03-03-2015 à 21:12:01  profilanswer
 

déjà fait sa marche pas :/

n°1374259
l4nkou
Dr House Fan
Posté le 03-03-2015 à 21:57:13  profilanswer
 

chez moi ça fonctionne pourtant.
 
cat recherche.sh  
 
#!/bin/bash                                                                      
firefox -search "$*"
 
 
chmod +x recherche.sh
 
./recherche.sh coline bleu


Message édité par l4nkou le 03-03-2015 à 21:57:31

---------------
Les avis, c'est comme les anus, tout le monde en a un.
n°1374265
leclowndu3​1
Posté le 04-03-2015 à 05:15:43  profilanswer
 

que signifie exactement le .sh que l'on mets après ? Qu'est ce qu'il permet de faire ?

n°1374268
ahbahlut
UTC-8
Posté le 04-03-2015 à 07:42:55  profilanswer
 

leclowndu31 a écrit :

que signifie exactement le .sh que l'on mets après ? Qu'est ce qu'il permet de faire ?


 
Il ne sert à rien si ce n'est à nous humains de se souvenir qu'il s'agit d'un script shell. Le système lui s'en fout royal, ton script pourrait s’appeler .toto .exe ou .jeanlou c'est pareil

n°1374297
leclowndu3​1
Posté le 04-03-2015 à 19:42:50  profilanswer
 

ok merci alors :hello:

n°1374306
blazkowicz
Posté le 04-03-2015 à 23:23:46  profilanswer
 

$* est une liste d'arguments séparés par des espaces, interprétée comme telle par firefox (enfin, "colline" est un sous-argument pour firefox -search et "bleu" un argument pour firefox)

 

"$*" c'est la même chose? oui et non. On a mis ça entre guillemets, alors c'est en fait une chaîne de caractères qui est interprétée comme un seul argument par firefox.

 

depuis la ligne de commande, on peut soit mettre les guillemets (firefox -search "colline bleu" ) soit "échapper" (escape) l'espace : firefox -search colline\ bleu

 

colline\ bleu est un seul argument (qui contient un espace) alors que colline bleu c'est deux arguments séparés par un espace.


Message édité par blazkowicz le 04-03-2015 à 23:27:43
n°1377445
math670
Posté le 30-05-2015 à 18:19:24  profilanswer
 

Pourquoi ne pas simplement traiter tout les paramètres comme une chaine dans ton script.
 
Un truc du genre :
 
 
for ((i=2 ; $# ; i++)) # $# est une variable par défaut, contenant le nombre de paramètres transmit au script lors de son execution
    chaine+=$i
done
 
echo $chaine
 
ça concatène ce que contient les paramètres supérieur à 1 (je suis pas sur de la syntaxe par contre)

n°1377447
par l'anne​au de l'ia
word master
Posté le 30-05-2015 à 19:31:59  profilanswer
 

Pourquoi ne pas choisir une autre startégie ?
 
 
firefox -search $*
 
. ./sh "colline+bleu"


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
mood
Publicité
Posté le 30-05-2015 à 19:31:59  profilanswer
 

n°1377448
blazkowicz
Posté le 30-05-2015 à 20:50:01  profilanswer
 

alias fs='firefox -search'   <- ou bien alias recherche='firefox -search'

 

fs colline\ bleu
fs "colline bleu"
fs colline bleu   <- lance deux recherches mais c'est parce que tu lui as demandé

 

c'est ce qui me paraît le plus simple, sans script shell.

 

(pour conserver l'alias, le mettre dans le fichier ~/.bashrc ; pour appliquer les mofifs ouvrir un nouveau terminal ou faire source .bashrc)


Message édité par blazkowicz le 30-05-2015 à 20:53:41

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Passer tout les paramètres en un seul paramètres -SHELL

 

Sujets relatifs
duplication et redirection des entrées et sorties de shell ?passer de seven à ubuntu sur pc portable
besoin d'aide pour les commandes shellhesite grandement a passer de window a linux
[FAILLE] "Shell shock"[Bash - Shell] Script qui se lance tant que la condition est pas valid
[ Shell ] Transformation liste en tableau avec ..awk ?passer le password dans la comande su
Linux shell compression archivesQuestions shell
Plus de sujets relatifs à : Passer tout les paramètres en un seul paramètres -SHELL


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR