Нет никакой проблемы с \n
. Это - все снова и снова старая проблема длины escape-последовательности: \e[0m
и подобный не способствуют фактической длине подсказки, таким образом, необходимо включить их в \[
..\]
указать на это к интерпретатору:
PS1="\[\e[0;36m\]\h\[\e[m\] \[\e[0;33m\]\w/\[\e[m\]\n \[\e[0;31m\]\$ →\[\e[m\] "
Попробуйте его абсолютным путем типа:
sudo find /where/your_file_is/located/ -iname "index.php"
И, как уже упоминалось выше, возможно, у вас нет разрешений. Что произойдет, если вы:
ls .
Знает ли ваша оболочка, что делать с точкой?
.]-Вы можете использовать [
] [$ find ~/ -type f -name "MYFILE"
]
[]Лучший способ поиска файла или папки :[
] [][]updateb[
] (для обновления системного файлового индекса).[
][]locate Myfile[
][
Согласно вашему выводу strace
, и я понятия не имею о причине, функция open ()
префикс имен файлов с помощью / proc /
:
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
getdents64(4, /* 21 entries */, 32768) = 664
getgid32() = 0
stat64("/proc/index.php", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
stat64("/proc/.svn", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
stat64("/proc/init-dist.php", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
stat64("/proc/landing-page.html", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
[...]
stat64("/proc/js", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
stat64("/proc/extras", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getgid32() = 0
stat64("/proc/sitemaps", 0xbfc53bd0) = -1 ENOENT (No such file or directory)
getdents64(4, /* 0 entries */, 32768) = 0
Возможно, у вас нет разрешения на выполнение для вашего пользователя каталога, из которого вы выполняете поиск. Есть ли у него разрешение на чтение и выполнение?
Как упоминали другие, использование полного пути к найденному двоичному файлу может помочь. Возможен поиск под псевдонимом с дополнительными флагами в вашей системе. Ввод \find
также предотвратит использование псевдонимов. Вы также можете использовать псевдоним
для просмотра псевдонимов команд в вашем текущем сеансе работы с оболочкой.
Я использую Red Hat Enterprise Linux Server Release 6.4 (Santiago).
Вы можете убедиться, что вы используете правильное найти либо / usr / bin
или / bin
, чтобы убедиться, что команда поина есть.
Если вы даже не можете сделать Man
на Найти Найти
, попробуйте изменить оболочку либо / bin / ksh
или / bin / bash
Отказ
Я обнаружил, что переменные среды и пути могут быть запутаны один раз в некоторое время.
Я видел, как это происходит на Mac, когда каталог находится на съемном носителе, который был удален и прочитан с момента открытия окна терминала. Я не могу объяснить, почему (вероятно, это связано с информацией, кэшированной при запуске терминального сеанса), но это было воспроизводимо. Просто перезапустил сеанс терминала, и все было в порядке.