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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Bash] Passer un argument dans l'execution d'une commande à distance

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Bash] Passer un argument dans l'execution d'une commande à distance

n°1463418
vandit
alive & kicking
Posté le 11-04-2021 à 16:09:01  profilanswer
 

Bonjour,
 
Quelqu'un saurait me dire ce qui merde dans le 2e example ?
 
Example qui fonctionne:
 

#!/bin/bash
 
ssh -o StrictHostKeyChecking=no -i ~/key user@host "for i in $(seq 1 1 1); do echo $1 ; done"


 

$ ./foobar.bash toto
toto


 
Example qui ne fonctionne pas:
 

#!/bin/bash
 
ssh -o StrictHostKeyChecking=no -i ~/key user@host "for i in $(seq 1 1 2); do echo $1 ; done"


 

$ ./foobar.bash toto
bash: -c: line 1: syntax error near unexpected token `2'
bash: -c: line 1: `2; do echo toto ; done'


Message édité par vandit le 11-04-2021 à 16:10:00

---------------
"Première fois de ma vie que je te vois mais tu m'as l'air d'un sacré tocard !"
mood
Publicité
Posté le 11-04-2021 à 16:09:01  profilanswer
 

n°1463450
kajoux
Posté le 12-04-2021 à 01:21:27  profilanswer
 

Le saut de ligne produit par seq, qui n'est pas interprété selon l'IFS mais traité littéralement avant de passer le résultat à bash.
En clair, tu exécutes ça sur la machine distante :

bash -c 'for i in 1
2; do echo toto; done'


d'où l'erreur, que tu peux reproduire dans un terminal.
 
Tu as plusieurs autres solutions au lieu utiliser seq. Puisqu'il y a bash sur la machine distante, tu peux par exemple faire

ssh -o StrictHostKeyChecking=no -i ~/key user@host "for i in {1..2..1}; do echo $1 ; done"

n°1463458
vandit
alive & kicking
Posté le 12-04-2021 à 08:37:24  profilanswer
 

Merci beaucoup, c'est plus clair maintenant. :jap:


---------------
"Première fois de ma vie que je te vois mais tu m'as l'air d'un sacré tocard !"

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

  [Bash] Passer un argument dans l'execution d'une commande à distance

 

Sujets relatifs
Aide Script d'installation de service (bash)Enregistreur de macro/commande
Une alternative à JIRA , GIT + Bash ?Script bash configuration
[RESOLU] lire à distance ce qu'il y a dans /dev/fb0Agrandir la partition root en ligne de commande
commande unix/linux création fichiers selon listeTP en acces à distance en X
Choix de passer à linux ? (GPU Pas..., Shadow)Solus freezing execution
Plus de sujets relatifs à : [Bash] Passer un argument dans l'execution d'une commande à distance


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR