Я программист на C / C ++ и в целом довольно глуп (или, по крайней мере, из-за того, как bash делает то, что заставляет меня чувствовать себя сбитым с толку). Я не могу обернуться вокруг процесса замены .
Мне нужно определить глобальное логическое значение, установить его где-нибудь в цикле и использовать его в глобальной области видимости. Может ли кто-нибудь объяснить самым простым из возможных способов, как адаптировать приведенный ниже код, чтобы позволить мне реализовать мой сценарий использования, достаточно простой, чтобы мне не пришлось завтра снова искажать свой мозг, чтобы попытаться понять процесс замещения.
# DEFINE HERE
for i in `seq 0 ${DAEMON_COUNT}`;
do
if [ ! -d "data$i" ]; then
# SET HERE
echo "data$i does not exist. Creating...";
mkdir data$i
fi
done
# TEST AND USE HERE
Если честно, я не думаю, что bash - это задача ... следующий блок выглядит следующим образом.
echo "-------------------------------------------------------------------------------"
echo "checking the state of potentially running daemons"
for i in `seq 0 ${DAEMON_COUNT}`;
do
if [ ! -e "data$i/mongod.lock" ] ; then
echo "[no lock file] mongod process $i does not exist"
else
echo "[lock file exists] process $i lock file exists "
I_PID=`cat data$i/mongod.lock`
if [ ! ${I_PID} ]; then
echo " [GOOD] lock pid empty"
elif [ "`ps -p ${I_PID} | grep ${I_PID}`" ]; then
echo " [GOOD] data1 pid: ${I_PID} running"
else
echo "[PROBABLY FATAL] data1 pid: ${I_PID} not running."
fi
fi
done
echo "-------------------------------------------------------------------------------"
Теперь мне нужен глобальный массив структур, чтобы я мог зациклить их и выполнить условные действия для правильной инициализации моих демонов: /.
Можно просто использовать libc и делать это в lua , единственная причина, по которой я сдерживаюсь, - это установка камней, мне не нравятся специальные репозитории кода, которые рвут на мою машину все, что они хотят: Д