Как я понимаю, вы хотите, чтобы какое-то регулярное выражение выглядело так:
(?:a|the|one)\s+(?:reason|reasons)\s+(?:for|of)
Это так просто, просто объедините их с помощью групп .
см .: DEMO
Обратите внимание на ваше требование выше, его звук для меня не настолько строгий, если вы хотите что-то изменить самостоятельно, давайте рассмотрим объяснение ниже
Объяснение
(?:abc|ijk|xyz)
Любое слово abc
, ijk
или xyz
, сгруппированное по группе без захвата (?:...)
, означает, что это слово не будет записываться в regex variable $1
, $2
, $3
, ...
.
\s+
Это разделитель слов, который здесь я устанавливал как любые пробелы, +
обозначает 1 или более.
Используйте эти system
функция.
system("myfile.sh"); // myfile.sh should be chmod +x
#include <stdio.h>
#include <stdlib.h>
// ....
system("my_bash_script.sh");
StackOverflow: Как выполнить команду и получить вывод команды в C++?
StackOverflow: (Используя ветвление, канал, выбор):... никто не делает вещи твердый путь больше...
Также, если Вы знаете, как заставить пользователя стать суперпользователем, который был бы хорош также. Спасибо!
sudo. su. chmod 04500. (setuid () & seteuid (), но они требуют, чтобы Вы уже были корнем. E.. g. chmod'ed 04 ***.)
Заботятся. Они могут открыть , "интересный" дыры в системе безопасности...
В зависимости от того, что Вы делаете, Вы, возможно, не должны базироваться. (Например: я часто буду chmod/chown/dev устройства (последовательные порты, и т.д.) (под корень sudo ), таким образом, я смогу использовать их из своего программного обеспечения, не будучи корнем. С другой стороны, это не работает так хорошо при загрузке/разгрузке модулей ядра...)
Переданный под мандат зависящий от реализации путь единственного стандарта состоит в том, чтобы использовать эти system()
функция от stdlib.h
.
Также, если Вы знаете, как заставить пользователя стать суперпользователем, который был бы хорош также.
Вы хотите, чтобы сценарий работал как суперпользователь, или Вы хотите поднять полномочия исполняемого файла C? Первый может быть сделан с sudo
, но существует несколько вещей, которые необходимо знать, прежде чем можно будет уйти с помощью sudo
.