2 votes

Compréhension de la page de manuel "ssh"

Mon but est d'utiliser mkdir sur l'hôte distant.

Dans la page de manuel de ssh qui, sur Ubuntu, provient de BSD, il est dit

Si une commande est spécifiée, elle est exécutée sur l'hôte distant au lieu d'un
 shell de connexion.

La commande serait celle à la fin de ceci :

ssh user@remoteHost command

Pour mon but la commande serait mkdir --parents chemin/dossier. Quelle est la signification de la phrase "elle est exécutée sur l'hôte distant au lieu d'un shell de connexion"?

Que signifie cela? Est-ce que cela signifie qu'un shell non connecté est utilisé? Ma compréhension est que les shells de connexion et non connectés impliquent tous les deux le .bashrc et donc la différence est que le profil n'est pas sourcé pour un shell non connecté. Pourquoi voudrions-nous ignorer le profil de utilisateur?

3voto

muru Points 180007

Est-ce que cela signifie qu'un shell non connecté est utilisé?

Oui. (Dépend de ce que vous entendez par "shell de connexion", cependant.)

Je comprends que les shells de connexion et non connectés impliquent tous les deux .bashrc et donc la différence est que le profil n'est pas sourcé pour un shell non connecté.

Incorrect. Un bash de connexion lit .profile, et Ubuntu lit .profile, qui source .bashrc. Un bash interactif non connecté lit .bashrc. Une invocation bash non connectée et non interactive ne lit pas .bashrc (ou .profile, pour ce qui est).

Quand vous exécutez ssh foo commande, la commande est exécutée par un shell non interactif. Cependant, un shell non connecté exécuté par SSH est un cas spécial, et bash lit .bashrc. D'autres shells peuvent ou non lire leur fichier de configuration rc, donc cela pourrait être le cas pour certains shells qu'aucun fichier de configuration ne soit lu du tout. Bash n'est pas le seul shell.

Les shells non interactifs sont exécutés pour diverses raisons, et généralement il n'y a aucune raison de charger l'ensemble complet de personnalisations définies par un utilisateur.

Pourquoi voudrions-nous ignorer le profil de l'utilisateur?

Voir ci-dessus. De plus, SSH a d'autres moyens de définir des variables d'environnement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X