J'ai écrit un script test.sh (sa fonction est la même que celle de la commande "hostname") ci-dessous,
#!/bin/bash
printf "`uname -a | awk '{print $2;}'` "
Je peux obtenir mon nom d'hôte avec
source /home/arton/test.sh
ou
/home/arton/test.sh
Ensuite, j'ai lancé la commande
ssh myhost "source /home/arton/test.sh"
et attendu obtenir "mon hôte", mais j'ai obtenu la sortie totale de uname -a
Linux myhost 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 ...
Après essai et erreur, les commandes ci-dessous peuvent générer "myhost"
ssh myhost "/home/arton/test.sh"
ssh myhost "bash -s" < /home/arton/test.sh
Mais je ne sais toujours pas pourquoi cela se produit.
/home/arton/test.sh
, mais parfois sur le même chemin sur le éloigné machine? Quel est le shell de l'utilisateur distant? Est-cecsh
peut être?