Контраст:
% whence -a print
print
% whence -a echo
echo
/bin/echo
Это показывает это print
только существует как встроенное, тогда как echo
существует и как встроенное и как исполняемый файл. (На самом деле, идя тем, что показывают выше, print
и echo
могли быть псевдонимы, функции или зарезервированные слова; использовать whence -w
видеть точно, какой внутренний объект имя представляет.)
find
внешняя команда, таким образом, она не может вызвать встроенную оболочку. Если действительно необходимо вызвать оболочку, создал-ins, вызовите оболочку explictly:
find . -name filename -exec zsh -c 'print "$0"' '{}' \;
В этом случае я не думаю, что Вы хотите zsh's print
встроенный: find
-print
основной сделает задание, только правильно (zsh print
встроенный разворачивает обратные косые черты).
find . -name filename -print
(Можно даже не учесть -print
здесь, потому что -print
действие по умолчанию для find
когда никакое действие не указано.)
Причина, почему существует echo
внешний исполняемый файл, но ни одно позвонившее print
это echo
стандартная команда, таким образом, она дала максимальную доступность даже программам, которые хотят вызвать ее, не идя через оболочку. Напротив, print
характерно для zsh, поэтому только zsh сценарии используют его во-первых.
(О, и в моей системе, существует a print
команда, которая отправляет файлы на принтер.)
Когда mlocate конец updatedb, запишите заключительный файл с пользовательским корнем и другой группой. Проверьте полномочия в "mlocate" каталоге:
drwxr-x--- 2 root slocate 4096 Oct 25 18:02 mlocate
Попытайтесь переустановить mlocate пакет. Похоже, что у Вас могло бы быть некоторое повреждение