shell-init: error retrieving current directory: getcwd — Die üblichen Updates nicht wor

Habe ich ein einfaches Skript:

#!/bin/bash
for server in $(~/.ansible/ansible_hosts)
do
    ssh $server "hostname; readlink /opt/mydir/mylink;"
done

Funktioniert es einwandfrei - das Programm gibt den korrekten Hostnamen und den link - es sei denn, ich bekomme die folgende Fehlermeldung auf einige, aber nicht alle von den Servern:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Keine solche Datei oder Verzeichnis

Alle Verzeichnisse existieren. Eine der häufigsten Anregungen war fügen Sie eine cd, eine cd oder eine cd /. Alles, was geschieht, wenn dieser Schritt Hinzugefügt wird, ist eine zusätzliche:

chdir: error retrieving current directory: getcwd: cannot access parent directories: Keine solche Datei oder Verzeichnis

Versuchte ich kickstarting der nfs-daemon auf dem off-chance, dass es gab einige Verwirrung über mein homedir und ersetzt /etc/init.d das problem war mit /opt. Kein Unterschied

Dies würde nur ein ärgernis, außer dass, wenn ich versuche, ein ansible-playbook anstelle einer einfachen ssh Befehl scheitert es für diesen server.

Alle Erkenntnisse gewürdigt würde.

  • Tut ~/.ansible/ansible_hosts enthalten eine Liste von Servern? Das ist eine seltsame Art und Weise zum Lesen der Werte, wenn so
  • hoffe, es ist nicht einfach eine Frage der Berechtigungen?
  • Was passiert, wenn Sie manuell log-in auf diesen Maschinen?
  • arco444 - Gut, die .ansible/ansible_hosts war eigentlich aus einem anderen Verzeichnis das ist, wo ich zum ersten mal das problem. Ich versuchte es mit einer hosts.txt die Datei in meinem home-Verzeichnis. Dasselbe Verhalten. Kashyap - ich habe die Erlaubnis, in mein home-Verzeichnis und die sonstigen Verzeichnisse, die ich habe versucht, diese mit. die shell-Initialisierungsdateien sind die gleichen über die ganze Umgebung, und sich manuell nicht erhöhen diese Fehler.
  • der andere - ganz normalen, ereignislosen login. Weiteres symptom: ein "cd -" funktioniert von der shell, aber wenn es in dem Skript sehe ich eine "cd: OLDPWD nicht festgelegt" Fehler.
  • Klingt wie es ist etwas in Ihre shell startup-Datei, die dies tut, wahrscheinlich in einem Versuch zu pflegen eine history der Verzeichnisse, oder vielleicht eine Eingabeaufforderung. Diese Dinge sollten nicht ausgeführt werden, im nicht-interaktiven Modus, so dass ich denke, dass ist die wirkliche Quelle des Fehlers.
  • ssh server "$SHELL -x -c true" könnte etwas verraten, obwohl es wahrscheinlich auch ziemlich langatmig.

InformationsquelleAutor Todd Ellner | 2015-04-01
Schreibe einen Kommentar