Jestem programistą C/C++ i ogólnie rzecz biorąc jestem głupi (a przynajmniej sposób, w jaki bash robi rzeczy, przez co czuję się zagubiony) . Nie mogę owinąć głowy wokół process substitution.Bash ustawia zmienną globalną w pętli i zachowuje jej wartość - Lub przetwarzaj podmianę dla manekinów
Potrzebuję zdefiniować globalną wartość logiczną, ustawić ją gdzieś w pętli i użyć jej w zasięgu globalnym. Czy ktoś mógłby proszę wyjaśnić w najprostszy możliwy sposób, jak dostosować poniższy kod, aby umożliwić mi osiągnięcie mojego przypadku użycia, na tyle prostego, że nie będę musiał jutro wykręcać mojego mózgu, aby spróbować uchwycić proces zastępowania.
# 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
Szczerze mówiąc, nie sądzę, że bash wykonuje to zadanie .... następny blok wygląda tak.
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 "-------------------------------------------------------------------------------"
Co ja teraz trzeba to globalna tablica elemencie tak, że mogę pętlę nad nimi oraz podjęcie działań warunkową zainicjować moje demony poprawnie: /.
Might just use libc and do this stuff in lua, jedynym powodem, powstrzymywać się konieczności instalowania skały, nie lubię ad-hoc repozytoriów kodu wymiotów, co chcą na moim komputerze: D
tak, to byłby mój pierwszy życzenie. Drugim moim pragnieniem jest śledzenie tablicy MxN. –