Полное сообщение об ошибке значительно упрощает проблему:
bash: .//home/youruser/desktop/foo.py: No such file or directory
Вы видите, что такого файла действительно нет:
$ .//home/youruser/desktop/foo.py
bash: .//home/youruser/desktop/foo.py: No such file or directory
$ ls -l .//home/youruser/desktop/foo.py
ls: cannot access './/home/youruser/desktop/foo.py': No such file or directory
Вот как выможно запустить файл /home/youruser/desktop/foo.py
:
$ /home/youruser/desktop/foo.py
Hello World
Таким образом, чтобы запустить его в цикле, вы можете сделать:
for i in `find ~/desktop -name '*.py'` ; do $i ; done
Вот лучший способ сделать то же самое:
find ~/desktop -name '*.py' -exec {} \;
или с циклом оболочки:
find ~/desktop -name '*.py' -print0 | while IFS= read -d '' -r file; do "$file"; done
Объяснение того, что такое ./
, и почему оно здесь не имеет смысла, см. этот вопрос