Эффективный способ мониторинга изменений файлов и выполнения скриптов на изменение

Для такого рода задач, я хочу вырваться на Perl. Есть модуль под названием файл::найти что ядро, что вполне хорошо для этого:

#!/usr/Бен/Perl с
использовать строгие;
использование предупреждений;

используйте файл::найти;

мой %найдено;

суб collate_users {
 далее, если -д;
 мой ($Дэв, $Ино $режиме, $nlink, $теплоносителя, $гид, $rdev,
 $размер, $старые, $время изменения, $чтимы, $блоку, $блоки
 ) = стат;

 если ( не нашел{$uid в} ) {
 печать "$жидкости : ", getpwuid($ИД),"\п";
}
$нашел{$uid номер}++;
}

найти( \&collate_users, "/путь/к/поиск", "/другой/путь/к/поиск" );

Это будет печатать в 'нашли того,' - вы могли бы, если вы предпочитаете, собирать и Сортировать (по количеству файлов, если вы так склонны) позже:

еогеасп мой $жидкости ( сортировки { $нашел{$а} <=> $нашел{$б} } ключи %нашли ) {
 печать getpwbyuid($ИД)," ($ИД) и $нашел{$uid номер} файлы\п";
}
+640
Jayati 6 мая 2019 г., 03:40:26
16 ответов

Официальное руководство (в США, по крайней мере) не более чем на 2 часа, итого, между 40°F (4°С) до 140°F (60°С). Поэтому, если в вашем помещении довольно прохладно, и все ингредиенты были холодными, на два часа в кастрюлю, ты просто внутри руководства.

Но проблема в том, если вы просто поверните кастрюлю на, это займет еще как минимум час, чтобы добраться до 140°F. Это ставит вас твердо вне ориентира.

Вместо того чтобы, предположив, что это кусочки курицы (в рагу, суп или аналогичные), а не целую курицу, я предлагаю вам довести его до, по крайней мере, 160°F (70°с) плитой за довольно высокой температуры (это должно только занять несколько минут), затем перенести их в кастрюлю. Затем вы можете приготовить его в кастрюлю на низком уровне.

+993
anonce 03 февр. '09 в 4:24

Интересно, если вы на самом деле имею в виду переменные оболочки, или временные файлы.

Если то, что вы делаете это (временный файл):

ТМП=$(mktemp)
что-то > "$ТМП"
что-то еще < "$ТМП"
РМ "$ТМП"

Тогда, конечно, идти вперед и удалить временный файл после того как вы сделали. Хотя, если сценарий падает в середине, то файл останется лежать там, но это точно не редкость либо. Вы можете использовать ловушки РМ "$tmp" с' Выход' , чтобы удалить файл, когда снаряд выходит, если вы заботитесь.

Но я не вижу смысла использовать , пусть в одиночку с РМ здесь.

(Также, не забудьте указать переменную, хотя mktemp по умолчанию делает "хорошие" имена.)


Однако, если вы делаете это (переменная):

читать Варе
что-то делать с "$Вар"
РМ "$ВАР"

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


Хотя если ваш скрипт предназначается, чтобы быть получены из другой оболочки (или это .bashrc следующее или похожие), оболочка не выход, когда ваш сценарий заканчивается. В этом случае было бы полезно сбросить все временные переменные, которые вы использовали в конце, чтобы не оставить их на всю оставшуюся оболочку жизни.

# в .bashrc следующее
__час=$(дата +%ч)
если [ "$__час" -это 12 ] ; затем Эхо "Доброе утро!" ; 
Элиф [ "$__час" -ГТ 18 ] ; затем Эхо "Добрый вечер!" ;
интернет
сброшен __час

Имя переменной может по-прежнему сталкиваются с какой-либо переменной используется за пределами этого сценария, поэтому некоторые уход должны быть приняты с указанием.

+866
Enna Rane 8 июл. 2012 г., 15:47:44

Вот еще один способ с какао-апплет, помощью AppleScript, этот скрипт создать файл rtf с методами от Objective-С кодом.

-- Какао-Помощью AppleScript
использовать фундаменты""
используйте дополнения сценариев 
повторить
 набор customFilename к тексту вернулся из (диалоге дисплея "Сохранить как:" с заголовком "вы действительно хотите создать новый, пустой документ в формате RTF программе TextEdit?" ответ по умолчанию "")
 если customFilename это "" тогда
бип
 дисплей предупреждение "имя файла не может быть пустым!" сообщение "пожалуйста, введите имя, которое будет продолжать..."
еще
 выход повторить
 конец если
конца повторять
набор для theCustomRichTextFilePathname ((путь к рабочему столу как строка) & customFilename & ".РТФ")

рассказать приложения "Finder" для б существует файл theCustomRichTextFilePathname
скажите текущего приложения
попробовать
 если б тогда
 отображение диалогового окна "файл \"" & в POSIX путь theCustomRichTextFilePathname & "\" уже существует!" & возврат & возвращение & "вы действительно хотите перезаписать файл?" кнопки {"нет", "да"} кнопка по умолчанию 1 с названием файла "уже существует..." со значком осторожно
 если кнопка возвращается результат "нет", то
 -- # Файл уже существует, решил не заменить его, просто откройте документ.
 мой документ OpenDocument(theCustomRichTextFilePathname)
вернуться
 конец если
 конец если
 -- еще, файл уже существует, решил заменить его или файл уже не существует
 мой createCustomRTFDocument(theCustomRichTextFilePathname)
 на количество эстр ошибка перечисления
активировать
 отобразить диалоговое эстр & "число" & перечисление кнопок {"ОК"} кнопка по умолчанию 1 значок с осторожностью
вернуться
 постараюсь
конец сказать

в формате OpenDocument(Ф)
 рассказать приложения "TextEdit от"
 набор theDoc открыть файл F
 установить границы (первое окно которого его документ theDoc) к {160, 22, 883, 639}
активировать
 конец сказать
 сказать приложение "системные события" ключевой код для 125 С помощью команды вниз-поставить мигающий курсор в конце документа
конца чтения

на createCustomRTFDocument(Ф)
 набор myText вернуться & (буфер как строку) -- конкатенация пустая строка и текст в буфер обмена
 набор файла в POSIX путь Ф
 скажите текущего приложения
 установить сайт myfont его (fontWithName NSFont в:"Гельветика", размер:18) -- шрифт и размер документа в формате RTF 
 myColor установить его (blackColor NSColor (в)) - цвет текста документа в формате RTF 
 набор theDict его (выделено NSDictionary (в) с initWithObjectsAndKeys_(myColor, его NSForegroundColorAttributeName, сайт myfont, его NSFontAttributeName, отсутствующее значение))
 набор AttrString его ((NSAttributedString в запас) с initWithString:атрибуты myText:theDict) -- создать приписанной строки
 набор rtfData в AttrString по RTFFromRange:{0, AttrString по |длина|()} documentAttributes:{NSRTFTextDocumentType:(его NSDocumentTypeDocumentAttribute)} -- создаем данные из строки списать
 конец сказать
 rtfData по writeToFile:атомарно файл:правда-записать данные в файл rtf 
 если результат моего чтения(Ф) -- открыть файл 
конец createCustomRTFDocument
+846
bryfry 6 сент. 2020 г., 02:29:29

Есть 2 раскладки для Mac французская клавиатура.

Стандарт один : enter image description here

И еще один : enter image description here

Я хотел бы использовать второй вид клавиатуры на Windows. То есть теперь, если я подключить его, ключи не совпадают, что будет отправлено в ОС Windows-это не то, что появляется на клавиатуре. С первым типом клавиатуры могла ли я установить "французский", "Мак" раскладка клавиатуры, что хорошо работал. Таким образом, я ищу соответствующие раскладки для установки на Windows.

Где я могу найти его, и как это называется ?

Почему я говорю, что вторая клавиатура "стандарт", потому что на Mac, Если нам клавиатуры (с клавишей формы, как на втором снимке), и выбирает "французский язык" в качестве языка ввода, то привязка точно так же, как на втором снимке.

+730
user201921 27 июн. 2010 г., 09:46:23

Файле /Home/$user/.VirtualBox/VirtualBox.xml не является допустимым. Это не корректный XML. Скорее всего вы редактировали файл вручную или какой-то другой сделал.

Ваши размеры ОЗУ и все остальное вроде в порядке.

Вы можете прикрыта конфигурационный файл, может это то, что легко можно исправить.

+725
darita 24 июн. 2018 г., 15:05:15

Из Баш инструкцию:

3.1.2.2 Одинарные Кавычки

Окружающих символов в одинарные кавычки (‘’) сохраняет буквальное значение каждого символа внутри кавычек. Одной цитатой не может произойти между одинарными кавычками, даже если предшествует обратная косая черта.

3.1.2.3 Двойные Кавычки

Заключая символы в двойные кавычки (‘"’) сохраняет буквальное значение все символы внутри кавычек, за исключением‘$’, ‘’, ‘\’, и, когда экспансия история включена, ‘!’. Символы ‘$’ и ‘’ сохраняют свой особый смысл в двойные кавычки (см. расширений оболочки). Обратная косая черта сохраняет свое особое значение только при соблюдении одного из следующих персонажей: ‘$’, ‘’, ‘"’, ‘\’, или строки. В двойные кавычки, обратные слеши, которые следуют один из эти символы удаляются. Обратные косые черты предыдущих знаков без особый смысл остается неизменным. Двойные кавычки могут быть указаны в двойные кавычки, перед ним обратную косую черту. Если включено, расширение истории будет выполнена, если ‘!’ появляться в двойные кавычки экранируются с помощью обратной косой черты. Предшествующей обратной косой черты символа ‘!’ не удаляется. Специальных параметров ‘*’ и ‘@’ имеют специальное значение, когда в двойные кавычки (см. расширение параметр командной строки).

Вот несколько практических демонстраций выше:

  • Двойные кавычки позволяют оценить разложений параметра, но одинарные кавычки не:
из $ VAR=ФОО
Эхо $ "$ВДП"
фу
$ Эхо '$ВАР'
$ВАР
  • Двойные кавычки позволяют оценить уровень обратного слэша, но одинарные кавычки не:
$ Эхо "\\"
\
$ Эхо '\\'
\\
  • Двойные кавычки позволяют оценить команды заменами ($(, `), но одинарные кавычки не:
$ Эхо "$(Эхо-бар)"
бар
$ Эхо '$(Эхо-бар)'
$(Эхо-бар)
+690
Haji Ali 4 апр. 2019 г., 11:55:35

Вы имеете возможность проверить Солярис для чмод:

http://schillix.sourceforge.net/man/man1/chmod.1.html

и для общ.:

http://schillix.sourceforge.net/man/man1/ls.1.html

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

Если х бит одновременно, как установить идентификатор группы Бит, это означает, что установить идентификатор группы.

+651
user2348566 15 мар. 2014 г., 00:16:56

Ваш аккаунт iCloud был, вероятно, что-то вы создали, когда вы купили телефон или обновлены. Это часть функция Найти iPhone, что предотвращает ваш телефон используется кем-то еще, если он украден.

Вам нужно восстановить доступ к своему аккаунт iCloud, используя http://iforgot.apple.com это хорошее начало для сброса пароля.

Вы должны проверить ваши настройки iPhone в iCloud, чтобы увидеть, если приложение "Найти iPhone" включена, если вы не сможете отключить данный без пароля, и если вы когда-либо снова восстановить телефон вам потребуется пароль.

+643
AleOtero93 7 сент. 2019 г., 16:05:53

Я пытаюсь установить обс студии на Debian 8. Я попытался последовать официальное руководство по установке для обс Studio, но когда я пытаюсь запустить CMake по -DUNIX_STRUCTURE=1 DCMAKE_INSTALL_PREFIX=/УСР .. я получаю следующую ошибку:

-- OBS_VERSION: 18.0.1-12-g3540e71
Ошибка CMake, например, в /usr/доли/х-3.0/модули/FindPackageHandleStandardArgs.с CMake:136 (сообщение):
 Не могу найти видео (отсутствует: FFMPEG_AVCODEC_LIBRARIES
 FFMPEG_AVCODEC_INCLUDE_DIRS avcodec avfilter avdevice avutil swscale
 swresample avformat)
Стек вызовов (последнего):
 /usr/доли/с CMake-3.0/модули/FindPackageHandleStandardArgs.тмаки:343 (_FPHSA_FAILURE_MESSAGE)
 с CMake/модули/FindFFmpeg.с CMake:151 (find_package_handle_standard_args)
 дэпс/libff/CMakeLists.тхт:4 (find_package)


-- Настройка неполной, ошибки!
См. также "/корень/обс-студии/Дизайн/CMakeFiles/CMakeOutput.лог".

Единственное решение, которое я мог найти людей, давая было установить кодек ffmpeg; впрочем, я уже установил через FFmpeg из бэкпортов так что это ничего мне не говорит. В зависимости от ошибки я попытался запустить apt-получить установку кодеков libavcodec-Дев libavfilter-libavdevice Дев-Дев libavutil-Дев libswscale-Дев libavformat-libswresample Дев-Дев и получаю следующую ошибку:

Следующие пакеты имеют неудовлетворенные зависимости:
 кодеком-в dev : зависит: libavcodec56 (<= 6:11.8-99), но 10:2.6.9-dmo1 должен быть установлен или
 что libavcodec-дополнительные-56 (<= 6:11.8-99) но он не будет установлен
 Зависит: libavresample-Дев (= 6:11.8-1~deb8u1), но он не будет установлен
 libavfilter-в dev : зависит: libavresample-Дев (= 6:11.8-1~deb8u1) но он не будет установлен
 Зависит: libavfilter5 (= 6:11.8-1~deb8u1), но он не будет установлен
 libavformat-в dev : зависит: libavformat56 (= 6:11.8-1~deb8u1) но 10:2.6.9-dmo1 должен быть установлен
 libavutil-в dev : зависит: libavutil54 (= 6:11.8-1~deb8u1) но 10:2.6.9-dmo1 должен быть установлен
 libswresample-Дев : зависит: libavutil-Дев (= 7:3.2.4-1~bpo8+1) но 6:11.8-1~deb8u1 должен быть установлен
 libswscale-в dev : зависит: libswscale3 (= 6:11.8-1~deb8u1) но 10:2.6.9-dmo1 должен быть установлен
Е: не удалось исправить ошибки, у вас прошла сломанные пакеты.

Эта ошибка сохраняется даже при использовании арг. В пакет ffmpeg команды этот выход, перечисляя все "недостающие" библиотеки:

 libavutil 55. 34.101 / 55. 34.101
 что libavcodec 57. 64.101 / 57. 64.101
 libavformat 57. 56.101 / 57. 56.101
 libavdevice 57. 1.100 / 57. 1.100
 libavfilter 6. 65.100 / 6. 65.100
 libavresample 3. 1. 0 / 3. 1. 0
 libswscale 4. 2.100 / 4. 2.100
 libswresample 2. 3.100 / 2. 3.100
 содержит 54. 1.100 / 54. 1.100

Я пытаюсь установить обс-студии за три дня и не может выяснить способ обойти это. Что я должен делать?

+558
alitheg 30 июл. 2016 г., 05:10:43

ССП, к сожалению, проблематично на Linux. С последними это основные типы файловых систем, Галактики Tab 10.1 признана правильной, однако вы все равно не сможете передать надежно.

+497
Tayyab Nisar 29 дек. 2012 г., 17:22:48

Вы можете использовать опцией для этого. От этого в POSIX описание ш:

СГ -с [-abCefhimnuvx] [-о параметры]... [+abCefhimnuvx] [вариант+о]...
[аргумент...]

-с
Читать команды из стандартного ввода.
Если нет операндов и опции-C не задан, параметр-s принимается.

Так:

% Ш -с Foo бар
ш-3.2$ Эхо "$@"
Василий Пупкин
+379
Horst Hinnrichs 18 мар. 2010 г., 13:14:24

Совершенно верно и заполните предложенные решения, просто чтобы говорить о том, как это должно быть сделано в прежние времена, когда только Борн-Шелл был готов, что так оно нравится:

параметр rownum=`выражение $nextnum + 1` 
+196
Samuel I Trotz 22 янв. 2023 г., 06:46:47

Эта статья, известного пищевыми продуктами ученый, приведены возможные опасности медленного приготовления индейки, с некоторых научных цитат и фактических экспериментальных данных по микробиологическим роста медленного приготовления индейки. Я призываю всех, кто интересуется медленного приготовления, Чтобы прочитать его ценить великое множество микробов, которые могут вызвать проблемы, а также проблемы, которые могут возникнуть при стойких токсинов и спор.

В основном, сообщение, кажется, если Турция получает по крайней мере 130F в течение 8 часов и в конечном итоге достигает 165F по всему, это в конечном итоге должно быть безопасным, по данным цитируемого исследования. Однако, это, конечно, расходится с официальной продуктов и медикаментов и USDA нормы, которые, казалось бы порекомендовал меньше времени на "опасную зону" (хотя они, кажется, допускает некоторые исключения для пищи, копченой или приготовленной на барбекю в их руководящих принципов, которые они иногда позволяют до 8-12 часов для достижения температуры, и USDA собственного приготовления индейки руководящие принципы четко подразумевает, что большие индюки будут тратить больше, чем пару часов в "опасную зону", когда жарились на их "безопасные" минимальной температуре 325F, хотя другие пользователи здесь спрашивали их об этом, и они отказываются признать этот факт при запросе).

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

Очевидно, что безопаснее всего будет следовать официальной утвержденной инструкцией. Я лично сделал много исследований в этом прежде, чем я когда-либо томленая ничего себе, и я хотел бы призвать других сделать то же самое, прежде чем прийти к собственным выводам. Одну важную вещь я хотел бы отметить, однако, что существуют ограничения для медленного приготовления безопасность -- мне, например, совсем не едят птицы, что, мол, целый день или более в опасной зоне до достижения 130F. Токсины будут накапливаться со временем, и в какой-то момент даже кипятить Турция не будет достаточно, чтобы сделать его безопасным, чтобы больше съесть.

+182
Fran Sandi 23 янв. 2021 г., 19:41:14

Вопреки комментировать Жеффе и ответ Давида, в четыре года учреждения, возможностей заниматься административными обязанностями внутри и за пределами вашего отдела, как правило, приходят задолго до владения. И в четыре года учреждения, не участвуют в управлении деятельностью обычно повредит вашей работы приложений.

Детали, конечно, зависят от ученика, кафедры и института, но совет aeismail о по следу ваших коллег-это хороший способ оценить то, что вы должны делать. Если вы чувствуете, что ваш отдел не самый лучший пример, на других посмотреть на кампусе.

Также, как скорее всего и везде в науке, если вы выскажите свое "хорошая идея", - сказал идеи и Комитетом разработан в целях реализации он будет ваш в течение некоторого времени.

+172
stenliis 9 авг. 2014 г., 21:16:26

Интернет -это аргумент [/тест выполняет арифметическое сравнение двух аргументов вокруг него, возвращая true, если предыдущий аргумент является целым числом меньше, чем следующий аргумент.

+75
Zincha 25 янв. 2019 г., 17:07:40

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

Что касается модулей, команды, которые вы выложили, кажется немного запутанным, так как они сначала снять модуль "в43", а затем снова загрузить его:

судо команды modprobe -Р в43 ССБ
#этот удалит (-Р) модули "в43" и "ССБ", если они уже загружены (см. *человек команды modprobe*)

судо команды modprobe в43
#это загружает модуль "в43"

Чтобы загрузить модуль при загрузке, добавьте модуль-имя файла /и т. д./модулей (вы можете редактировать файл, выполнив команду sudo команду Gedit /и т. д./модулей, для более подробной информации смотрите человеку модули и человек команды modprobe)

Чтобы явно запретить загрузку модуля во время загрузки, вы можете черный список его, путем добавления модуля-имя файла /и т. д./команды modprobe.д/игнор.конф

Так что, возможно, в вашем случае, это может быть достаточно, чтобы добавить "ССБ" в /etc/команды modprobe.д/игнор.конф

Попробуйте его и поделиться с нами :)

+70
Wilco 6 июл. 2021 г., 01:57:42

Показать вопросы с тегом