Possíveis razões de erro “cat: -: Não existe tal arquivo ou diretório” [closed]

1

Basicamente, eu tenho exatamente essas linhas no meu script bastante complexo:

echo $SHELL
echo "$BASH_VERSION"
echo $(which cat)
echo $(alias cat 2>/dev/null) || :

cat <<AAA
test
AAA

echo 1

E mostra um erro no log de depuração:

++++ echo /bin/bash
++++ echo '4.3.46(1)-release'
+++++ which cat
++++ echo /bin/cat
+++++ alias cat
++++ echo
++++ cat
cat: -: No such file or directory

E quando tento repetir o mesmo em um script simples - o cat funciona como pretendido e apenas imprime "teste"

(O mesmo acontece quando eu substituo o AAA por alguma outra palavra. Este é um simples recipiente docker da imagem básica do "ubuntu" com alguns programas instalados. E eu tenho certeza que essa configuração exata funcionou bem por alguns meses. quebrado, mas ainda estou interessado em encontrar a causa raiz).

Alguma ideia do que pode causar o erro?

Atualizar no dia seguinte: TLDR: Eu acredito que foi algum problema com o docker. Para abordar comentários válidos:

  1. o comando usual $ (cat myfile) funcionou como esperado no complexo script
  2. Tenho certeza de que nenhum caractere oculto pode causar o problema
  3. o script era complexo em quantidade de coisas que ele tenta fazer; realmente não hackear como lidar com descritores de arquivo / IFS.
  4. / tmp estava ok wtr space e permissões
  5. Agora eu lembro que em algum ponto / dev / shm estava 100% cheio e apesar de eu ter limpado - talvez isso esteja relacionado (algo corrompido no kernel?)

Hoje eu iniciei esse contêiner e ele parece estar ainda mais corrompido - pelo menos todas as montagens parecem estar corrompidas como abaixo:

# ll
ls: cannot access '_template': No such file or directory
drwxr-xr-x  2 root root 4096 Apr  2 13:41 _system/
d?????????  ? ?    ?       ?            ? _template/

Não posso mais executar o script lá. Vou criar um novo contêiner e esperar que ele funcione corretamente.

Acredito que a solução de problemas adicionais requer a busca em logs do kernel / docker e provavelmente não é tão interessante. De qualquer forma - obrigado a todos pela tentativa - vamos considerar que foi apenas 'recipiente quebrado', espero que ajude alguém em algum momento que atenda ao problema exato

    
por noonex 02.04.2017 / 23:57

0 respostas