systemctl запускает все включенные, но неактивные службы

grepпо отдельности и замена мне не кажутся полезной комбинацией. Как вы относитесь к sed?

$ ls *pdf
Guide to Iceland _ Chen-ping Wang itinerary T-987654987.pdf
Guide to Iceland _ T-123654875 Chen-ping Wang itinerary.pdf

А затем небольшой цикл for вbash:

$ for i in *pdf; do mv "$i" "$( echo $i |  sed -r  's/^(.*)(T-[0-9]{9})(.+)$/\2 - \1\3/'  )"; done

Это перебирает все PDF-файлы в текущем каталоге; сохраняет свое имя в $iдля каждой итерации, выводит содержимое через sed (и использует его вывод в качестве целиmv). sedразбивает имя файла -на три части и переставляет их. Я рекомендую заменить mvна echo mvдля тестирования:)

Что дает нам:

$ ls *pdf
T-123654875 - Guide to Iceland _  Chen-ping Wang itinerary.pdf
T-987654987 - Guide to Iceland _ Chen-ping Wang itinerary.pdf
0
07.02.2021, 00:41
1 ответ

Чтобы ответить на исходный вопрос:

daemon-reloadпросто сообщает systemdповторно -прочитать его конфигурацию.

Обратите внимание, что включение службы означает, что служба запускается как зависимость от других устройств. Предполагая, что вашей целью по умолчанию является несколько пользователей -, вы можете попробовать systemctl isolate multi-user.target; в моем понимании он должен запускать все включенные блоки, которые зависят от мульти -пользователя и останавливать все остальные.

Если это не сработает, простой сценарий оболочки, использующий вывод systemctl list-units -t service, должен сработать. РЕДАКТИРОВАТЬ:list-unitsне сообщает о включенном/отключенном; вместо этого вы можете использовать systemctl status -t service \*.

Наконец, возможно, вы действительно этого хотите:

systemctl enable --now SERVICE
systemctl disable --now SERVICE

--nowзапускает/останавливает службу одновременно с ее включением/отключением. Конечно, вы также можете systemctl start SERVICEи systemctl stop SERVICEпо отдельности.

1
18.03.2021, 22:32

Теги

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