I have a simple script:
#!/bin/bash for server in $(~/.ansible/ansible_hosts) do ssh $server "hostname; readlink /opt/mydir/mylink;" done
It works fine - the program returns the correct hostname and link - except that I get the following error on some but not all of the servers:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
All the directories exist. One of the most common suggestions has been to add a cd, a cd -, or a cd /. All that happens when that step is added is an additional:
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
I tried kickstarting the nfs daemon on the off chance that there was some confusion about my homedir and substituted /etc/init.d in case the problem was with /opt. No difference
This would simply be an annoyance except that when I try to use an ansible playbook instead of a simple ssh command it fails for that server.
Any insights would appreciated.
I believe the error is not related to the script at all. The issue is: the directory at which you are when you try to run the script does not exist anymore. for example you have two terminals, cd somedir/
at the first one then mv somedir/ somewhere_else/
at the second one, then try to run whatsoever in the first terminal - you'll receive this error message.
Please note you'll get this error even if you re-create directory with the same name because the new directory will have different inode index.
At least this was in my case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With