Команда find -exec работает на Debian Squeeze, но не на Ubuntu 10.04


1

В сценарии оболочки (интерпретатор / bin / bash) в Debian Squeeze работает следующее:

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

Теперь я знаю, что по какой-то причине это dos2unixбыло переименовано fromdosв Ubuntu, поэтому я пытаюсь запустить:

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

Хотя это работает в Debian, в Ubuntu это выдает:

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

Как мне обойти это, и в чем проблема?


Является ли ~/bin/упомянутое точно одинаковым в обоих случаях? Не просто тот же список файлов и содержимого, но то же самое основное устройство / файловая система?
Фогг

~ / bin / имеет одинаковую файловую структуру (и файлы) в обоих случаях. find ~/bin/ '!' -type dсамо по себе, кажется, делает то же самое в обоих случаях.
Матье Картье

Ответы:


2

В моей системе Ubuntu /usr/bin/{{to,unix2}dos,dos2unix}все ссылки на fromdos.

Попробуйте type -a fromdosпосмотреть, есть ли псевдоним, функция или скрипт, который переопределяет двоичный файл /usr/bin.

Также попробуйте указать полный путь в вашей findкоманде:

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

Проверьте, нет ли в вашем ~/binкаталоге сломанной символической ссылки . Есть ли какие-нибудь ссылки в каталогах ~/bin?

fromdosПоявляющееся сообщение об ошибке пытается обработать файл с именем fromdos.


dos2unixэто не символическая ссылка в моей установке. type -a fromdosприводит к fromdos is /usr/bin/fromdosи find ~/bin/ '!' -type d -exec /usr/bin/fromdos {} \;приводит к той же ошибке о невозможности найти файл todos / fromdos. Там нет символических ссылок в ~/bin.
Матье Картье

@neurolysis: file /usr/bin/fromdosговорит "ELF ..." или что-то еще? Что говорит fromdos -V(заглавная "V" - версия)? Какой вывод вы получите от своей findкоманды, если вы используете подробный параметр fromdos( fromdos -v- (строчная буква "v"))?
Деннис Уильямсон

Ах! Это действительно была ошибка, вызванная символическими ссылками в довольно глубоком подкаталоге (не знаю, как он туда попал, не помню, как делал это). Спасибо, в любом случае! :)
Матье Картье
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.