Как я могу мешать ls убывать в каталоги, подобные для сокращения для находки?

Общепринятая практика состоит в том, чтобы использовать изодромный с предварением файл. Каждый раз сценарий выполняется, имейте его, проверяют файл, чтобы видеть, работает ли он уже куда-нибудь. Порядок операций обрисован в общих чертах ниже.

  • считайте pid из /var/run/yourscriptname.pid
  • проверьте, работает ли pid, выход, если это
  • получите свой pid, запишите это в /var/run/yourscriptname.pid
  • выполнитесь как нормальные
  • удалите изодромный с предварением файл

В Вашем случае это сделает, но существуют некоторые случаи, где сценарий можно было бы назвать достаточно быстрым, который во время между проверкой pid и записью pidfile, другой процесс запускает и также не видит pidfile и продолжает выполняться. Можно далее сжать вещи при помощи консультативной блокировки. Это - услуга, которую ОС предоставляет на примерно каждом Unix.

Ссылки:

12
25.07.2012, 02:41
2 ответа

Используйте -d переключатель:

ls -d *ro*

.....

25
27.01.2020, 19:54
  • 1
    , который я записал сценарию, который получает биты доступа папки (преобразованный в 755 или 644 нотации), дата и время, измененная, и имя папки, затем отправляет информацию с помощью текстового сообщения. Мне было нужно это, чтобы быть <140 символами. Это помогло, спасибо. –  user208145 30.06.2015, 08:27

Вы могли использовать:

ls | grep ro

Выполнить задачу. Передайте вывод по каналу ls какие выводы только содержание текущего каталога к grep и выборочно производить файлы, соответствующие regex шаблону.

4
27.01.2020, 19:54
  • 1
    1, Как grep знал бы, было ли соответствие шаблона в каталоге или подкаталоге? –  Michael Durrant 24.07.2012, 15:59
  • 2
    Также это ничего на самом деле не возвращает.Попробуйте. –  Michael Durrant 24.07.2012, 16:01
  • 3
    По умолчанию выводы ls только содержание текущего каталога. Так передача, которые производят к grep, возвращает только данные, которые соответствуют данному regex. Я попробовал данную команду в своей системе Arch, и она работает отлично. –  darnir 24.07.2012, 16:03
  • 4
    Так как grep берет regex в качестве входа, не добавляйте звездочки вокруг ro. Как я упомянул, просто выполните grep ro. Это - сырой взлом по сравнению с ответом manatwork, но превосходные работы. –  darnir 24.07.2012, 16:05
  • 5
    , Если у Вас есть абсурдное количество файлов, тем не менее, globbing в ответе manatwork, может достигнуть предела длины командной строки. Это не будет. –  Izkata 24.07.2012, 17:11

Теги

Похожие вопросы