Как я могу сделать Команду “находки” на значении по умолчанию OS X к текущему каталогу?

Тематический обмен RabbitMQ (с использованием pub / sub), безусловно, является опцией для создания такого шаблона распределения ... производители гарантируют, что ключ маршрутизации их сообщений соответствует "Каналу X", а потребители (через свои очереди) будут привязать к этому обмену с соответствующим шаблоном. Это должно означать, что вам не нужно иметь определенный Exchange для каждого из ваших каналов. Но неизвестно, может ли он масштабироваться до миллионов каналов.

Если рассмотреть другие технологии обмена сообщениями, может быть, посмотрите на Solace? (К вашему сведению, я работаю на них). На самом деле у нас есть бесплатный курс Udemy Dev, где вы создаете приложение для чата! https://www.udemy.com/fundamentals-of-solace-development/ . Solace изначально поддерживает MQTT, если вы хотите пойти по этому пути, а также имеет встроенную возможность воспроизведения, которую можно использовать для получения последних сообщений n по заданной теме.

14
задан Chris Hanson 12 October 2008 в 08:49
поделиться

5 ответов

Если Вы не можете дисциплинировать себя для использования find 'правильно', то почему бы не установить GNU find (от findutils) в каталоге на ПУТИ перед системой find команда.

я раньше имел мой собственный частный вариант cp, который скопировал бы файлы в текущий каталог, если бы последний объект в списке не был каталогом. Я сохранил это в своем персональном bin каталог много лет - но в конечном счете удалил его, потому что я больше не использовал функциональность. (Мой 'cp.sh' был записан в 1987 и отредактирован дважды, в 1990 и 1997, как часть изменений в нотациях системы управления версиями. Я думаю, что удалил его приблизительно в 1998. Основная проблема со сценарием состоит в том, что cp file1 file2 неоднозначно между копированием файла по другому и копированием двух файлов к текущему каталогу.)

Рассматривают запись Вашей собственной обертки к find:

#!/bin/sh
[ ! -d "$1" ] && set -- . "$@"
exec /usr/bin/find "$@"

вторая строка говорит, "если аргументом 1 не является каталог, то скорректируйте параметры командной строки для включения точки перед остальной частью команды. Это будет сбивать с толку, если Вы когда-нибудь будете вводить:

~/bin/find /non-existent/directory -name '*.plist' -print

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

11
ответ дан 1 December 2019 в 06:43
поделиться

Это, вероятно, не, как насчет чего Вы хотите, но: alias find="find ."

или выбирают новое имя (findl для локальной находки?)

1
ответ дан 1 December 2019 в 06:43
поделиться

Я предположил бы что, если Вы пишете сценарии (которые, более вероятно, будут перемещены от одной системы до другого когда-то в будущем), что необходимо попытаться использовать более определенную форму команды, которая определяет "." вместо того, чтобы полагаться на значение по умолчанию. По той же причине я мог бы даже предложить писать sh сценарии вместо того, чтобы полагаться bash, который не мог бы быть установлен везде.

2
ответ дан 1 December 2019 в 06:43
поделиться

Если необходимо звонить, это 'находит', то Вы хотите:

alias find=/usr/bin/find\ .

в Вашем .profile или .bash_profile или †¦. Замените реальным путем (если не/usr/bin/find) на Вашей MAC OSX. Введите полный путь для предотвращения циклов (удар обычно интерпретировал бы alias find=find без проблем, но лучше был бы уверен).

, Но Вы лучше не называете псевдоним find (findl, myfind и т.д.), потому что это станет привычкой и проблемой Вам при попытке его в другой системе.

6
ответ дан 1 December 2019 в 06:43
поделиться
find ./ -name "*.plist"

редактирование : хм, я, возможно, неправильно понял вопрос! если Вы были сумасшедшими, как насчет того, чтобы эмулировать его с помощью сценария оболочки? я обычно сохраняю случайные служебные сценарии в ~/.bin, и это - первая вещь в моем ПУТИ. если бы у Вас была подобная установка, возможно, то Вы могли бы сделать что-то как: (непротестированный!)

#!/bin/sh
# remapping find!
CMD=`echo $1 | cut -c 1`
if [ $CMD = '-' ]
then
# pwd search
  /usr/bin/find ./ $*
else
# regular find
  /usr/bin/find $*
fi
4
ответ дан 1 December 2019 в 06:43
поделиться
Другие вопросы по тегам:

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