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