Как заставить программу запускать разные вещи каждый второй раз? - PullRequest
1 голос
/ 24 июня 2019

У меня есть сценарий C, мне нужно, чтобы он работал как рычаг, то есть каждый раз переводил мой Linux из одного состояния в другое.

Мне нужно что-то вроде этого:

if (even_execution) {state = 0;} 
else {state = 1;} 

Возможно, мне следует записать переменную even_execution в файл или добавить переменную среды?

1 Ответ

2 голосов
/ 24 июня 2019

Поскольку вы пишете сценарии, я предлагаю вам использовать для этого язык сценариев. Такие как:

#!/bin/bash

STATE=$(cat .state)
STATE=${STATE:-1}
if ((STATE)); then
    echo ohyeah
else
    echo ohno
fi
echo -n $((1-STATE)) > .state

Редактировать: относительно того, куда поместить файл, возможно, подойдут /var/lock/, /var/tmp/ или /var/local/ (по крайней мере, в Debian). Если вы хотите «изменить его» при каждом выключении, я предлагаю вам просто

rm /var/lock/strange_state

в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...