Как написать цикл for, который запускает асинхронную команду на каждой итерации?

Я знаю, что это старый вопрос, но я отвечаю для потомков. xrandr-invert-colors - это небольшое приложение, которое делает именно то, что нам нужно.

У меня есть xcalib и xrandr-invert-colors, привязанные к разным ярлыкам, так что если я действительно хочу инвертировать только мой вторичный монитор, я могу выполнить оба (xcalib вернет первичный монитор к нормальным цветам).

Загрузите его на https://github.com/zoltanp/xrandr-invert-colors

23
18.09.2017, 16:47
2 ответа

Бросьте;:

for i in {1..8}; do sleep 100 & done

&разделяет команды , поэтому ;является посторонним (и оболочка ожидает что-то между &и;).

44
27.01.2020, 19:41

Сгруппируйте ваши doдействия в фигурных скобках:

for i in {1..8}; do { sleep 100 & }; done

Легко понять как вам, так и Bash!

23
27.01.2020, 19:41

Теги

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