Это команда hexec, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
hexec - инструмент для перехвата выполнения процесса
СИНТАКСИС
шестнадцатеричный [выражение] [cmd] [аргументы ...]
ОПИСАНИЕ
hexec - это инструмент для подключения к вызовам выполнения процессов (семейство системных вызовов exec). Вы можете
определить выражение, которое выполняется против любого перехваченного вызова exec. Это выражение может
также содержат заменяющий вызов exec.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ РЕЗЮМЕ
Вот краткое изложение возможностей hexec.
--help | -h Распечатать страницу сводной информации о параметрах / выражении
--version | -v Вывести шестнадцатеричную версию
--выход | -lo установить выходной файл для ошибки и -print вывода
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-h Распечатать страницу сводной информации о параметрах / выражении
--Помогите Распечатать страницу сводной информации о параметрах / выражении
-ло Установите выходной файл для вывода ошибок и -print. Это может потребоваться при написании
в stderr может вызвать сбой, потому что некоторые процессы читают из stderr и
ожидайте четко определенного результата.
ВЫРАЖЕНИЯ
Выражение выполняется для всех вызовов выполнения процесса. Если выражение возвращает
правда, исходный вызов пропускается.
-а также
-a
Возвращает истину, если оба выражения возвращают истину. Если левый возвращает ложь, правый
выражение никогда не выполняется.
Или
-o
Возвращает истину, если одно из обоих выражений возвращает истину. Если левый возвращает истину,
правильное выражение никогда не выполняется.
-дорожка
Возвращает истину, если путь к исполняемому файлу совпадает. . это тупица
совместимый шаблон подстановки.
-ипат
То же, что и -path, но без учета регистра.
-имя
Возвращает истину, если базовое имя исполняемого файла совпадает. . это
bash-совместимый шаблон подстановки.
-инаме
То же, что и -name, но без учета регистра.
-содержит
Возвращает истину, если путь к исполняемому файлу содержит строку .
-содержит
То же, что и -contains, но без учета регистра.
-Распечатать Вывести все аргументы вызываемого процесса. Возвращает всегда верно.
-Exec [аргументы ...] ;
Выполняет с [args ...] в качестве аргументов. Это выражение должно заканчиваться
точка с запятой. Вы можете использовать заполнители аргументов в и [аргументы ...] (см. ниже).
Это выражение всегда возвращает истину.
ЗАМЕТКА: Имейте в виду, что вам может потребоваться экранировать или процитировать завершающий
точка с запятой, чтобы не запутать вашу оболочку.
-ш
Интерпретирует as a shell script by invoking / Бен / ш с аргументами -c
' '. Вы можете использовать заполнители аргументов внутри . Please note that -sh
ожидает только один аргумент, а не список переменных аргументов (как -exec
делает). Использование -sh аналогично использованию -Exec sh -c .
МЕСТОПОЛОЖЕНИЯ Для -Exec ЭКСПРЕССИЯ
Каждое выражение -exec может использовать заполнители в списке аргументов для получения информации.
из исходного вызова exec. Каждый заполнитель начинается с {и заканчивается}. Используйте \ {, если вы
хотите использовать {в своем списке аргументов. Заполнители заменяются, когда -exec
выражение оценивается.
Типы заполнителей:
{п} Будет заменено количеством аргументов в исходном вызове.
{ }
Будет заменен исходным аргументом по индексу . Пример: {1} даст
первый аргумент. Вы можете добавить с флагами-заполнителями.
{} Будут заменены всеми аргументами из исходного вызова. Каждый аргумент
отделены пространством. Вы можете использовать флаги-заполнители.
ЗАМЕТКА: Имя исполняемого файла также считается аргументом. Это означает, что звонок вроде
«эхо-тест» приведет к двум аргументам: «эхо» и «тест».
МЕСТОПОЛОЖЕНИЕ ФЛАГИ
s Каждый аргумент вставляется как один аргумент вместо того, чтобы объединять все
аргументы.
Рассмотрим аргументы «a», «b» и «c». Без s, -Exec {} \; приведет к
-Exec 'a b c' \;, что во многих случаях не то, что вам нужно. -Exec {с} \; однако
приведет к -Exec 'а' «Б» «С» \;.
q Цитируйте каждый аргумент.
e Экранировать все не буквенно-цифровые символы. Этот флаг очень полезен при использовании "sh
-c <...> "в выражении -exec.
Примеры
-Exec эхо {} \; с звонком 'а' «Б» «С»
приводит к: 'echo' 'abc'
-Exec эхо {д} \; с звонком 'а' «Б» «С»
приводит к: 'echo' 'a' 'b' 'c'
-Exec sh -c эхо {}; {} ' \; с звонком 'ш' '-c' 'gcc постоянный ток >> log.txt '
приводит к: 'sh' '-c' 'echo sh -c gcc dc >> log.txt; sh -c gcc dc >> log.txt '
Обратите внимание, что это не приведет к тому, чего вы можете ожидать, поскольку символ >> обрабатывается неправильно.
в этом случае.
-Exec sh -c эхо {е}; {} ' \; с звонком 'ш' '-c' 'gcc постоянный ток >> log.txt '
приводит к: 'sh' '-c' 'echo sh \ -c gcc \ d \ .c \ \> \> \ log \ .txt; sh -c gcc dc >>
log.txt '
ШАНГИ К ПРОЦЕССЫ
hexec добавит некоторые переменные среды в подключенные процессы. Это (не может быть
полный):
LD_PRELOAD
hexec добавляет libhexec-hook.so в список предварительно загруженных библиотек.
HEXEC_EXPR_SHM
Содержит имя объекта внутренней общей памяти.
HEXEC_LOG_FD
Содержит файловый дескриптор для вывода ошибок и -print.
Никогда не изменяйте эти переменные среды. Также будьте осторожны при использовании этих
переменные, потому что имя и содержание переменных могут измениться в будущем.
ПРИМЕРЫ
шестнадцатеричный -имя 'gcc' -Exec CCache {с} \; сделать
Вызывает make, который затем несколько раз вызывает gcc. Имя исполняемого файла каждого
выполнение подключенного процесса проверяется по шаблону файла "gcc" и "ccache {s}"
вызывается каждый раз, когда обнаруживается совпадение. '{s}' будет заменен оригиналом (
подключили) звонок. В этом примере вызов "gcc -o test.o test.c" будет заменен
с "ccache gcc -o test.o test.c"
КАК МЫ РАБОТАЕМ IT РАБОТАЕТ
TODO
Используйте hexec онлайн с помощью сервисов onworks.net