shell-init: erreur lors de la récupération du répertoire courant: getcwd — Les habituels correctifs ne pas wor
J'ai un script simple:
#!/bin/bash
for server in $(~/.ansible/ansible_hosts)
do
ssh $server "hostname; readlink /opt/mydir/mylink;"
done
Il fonctionne très bien - le programme renvoie le bon nom d'hôte et le lien sauf que je reçois l'erreur suivante sur certains, mais pas tous les serveurs:
shell-init: erreur lors de la récupération du répertoire courant: getcwd: impossible d'accéder aux répertoires parents: Aucun fichier ou répertoire de
Tous les répertoires existent. Un des plus commune des suggestions a été pour ajouter un lecteur cd, d'un cd ou d'un cd /. Tout ce qui se passe lorsque cette étape est ajoutée supplémentaire:
chdir: erreur lors de la récupération du répertoire courant: getcwd: impossible d'accéder aux répertoires parents: Aucun fichier ou répertoire de
J'ai essayé kickstarting le démon nfs sur l'opportunité qu'il y avait une certaine confusion au sujet de mon répertoire personnel et substitué par un /etc/init.d dans ce cas, le problème était avec /opt. Pas de différence
Ce serait tout simplement une gêne, sauf que lorsque j'essaie d'utiliser un ansible playbook au lieu d'une simple commande ssh il échoue pour ce serveur.
De toutes les suggestions seraient appréciées.
~/.ansible/ansible_hosts
contiennent une liste de serveurs? C'est une drôle de façon de lire les valeurs de si ouiespérons que ce n'est pas une simple question de permissions?
Ce qui se passe lorsque vous vous connectez manuellement sur ces machines?
arco444 - eh Bien, le .ansible/ansible_hosts a été fait à partir d'un autre répertoire qui est l'endroit où j'ai vu le problème. Je l'ai essayé avec un hosts.txt fichier dans mon répertoire home. Même comportement. Kashyap - je avoir l'autorisation d'être dans mon répertoire home et les autres répertoires que j'ai essayé cela avec. le shell fichiers d'initialisation sont les mêmes dans l'ensemble de l'environnement, et de vous connecter manuellement ne soulève pas ces erreurs.
c'est l'autre gars - parfaitement normal, sans incident de connexion. En outre symptôme: un "cd -" fonctionne bien à partir du shell, mais quand c'est dans le script, je vois un "cd: OLDPWD définissez pas d'erreur".
OriginalL'auteur Todd Ellner | 2015-04-01
Vous devez vous connecter pour publier un commentaire.
Je crois que l'erreur n'est pas lié au script. La question est: le répertoire dans lequel vous êtes lorsque vous essayez d'exécuter le script n'existe plus. par exemple, vous avez deux terminaux,
cd somedir/
lors de la première puismv somedir/somewhere_else/
au second, puis essayez d'exécuter que ce soit dans le premier terminal - vous recevez ce message d'erreur.Au moins c'était dans mon cas.
OriginalL'auteur Putnik
Vous exécutez ce script.. $(~/.ansible/ansible_hosts). Le $() signifie que le bash va tenter d'exécuter le script, puis sortie les résultats.
Mais ce n'est pas un script, droit? C'est une liste des hôtes!
Il suffit d'ajouter le mot
cat
et cela devrait fonctionner.OriginalL'auteur Jamieson Becker