find -exec o comando funciona no Debian Squeeze, mas não no Ubuntu 10.04

1

Em um script shell (interpretador / bin / bash), o seguinte funciona no Debian Squeeze:

find ~/bin/ '!' -type d -exec dos2unix {} \;

Agora, sei que, por algum motivo, dos2unix foi renomeado para fromdos no Ubuntu, então estou tentando executar:

find ~/bin/ '!' -type d -exec fromdos {} \;

Enquanto isso funciona no Debian, no Ubuntu ele produz a saída:

fromdos: Unable to access file todos.
fromdos: Unable to access file fromdos.

Como faço para contornar isso e qual é o problema?

    
por Matthieu Cartier 25.01.2011 / 15:44

1 resposta

2

No meu sistema Ubuntu, /usr/bin/{{to,unix2}dos,dos2unix} são todos links simbólicos para fromdos .

Teste type -a fromdos para ver se há um alias, função ou script que esteja substituindo o binário em /usr/bin .

Além disso, tente especificar o caminho completo no comando find :

find ~/bin/ '!' -type d -exec /usr/bin/fromdos {} \;

Verifique se há um link simbólico quebrado no diretório ~/bin . Existe algum diretório com links simbólicos em ~/bin ?

A mensagem de erro que você está recebendo parece que fromdos está tentando processar um arquivo chamado "fromdos".

    
por 25.01.2011 / 18:46