Podaj zmienną od dziecka do rodzica w KSH
Muszę pracować z KSH (tak, ta piekielna skorupa). Muszę użyć widelca, podprogramu w następujący sposób:
#!/bin/ksh
PIPE=PIPE_$
PIPE_ERR=PIPE_ERR_$
export TEST_FILS
$(. ./LanceFils.ksh 2>${PIPE_ERR} 1>${PIPE}) &
PID_CHILD=$!
echo "Nom du fichier PIPE: ${PIPE}"
echo "Processus fils : " $!
wait ${PID_CHILD}
echo "Code retour: " $?
echo "Sortie standard de PROC_FILS : " $(cat ${PIPE})
echo "Sortie d'erreur(s) de PROC_FILS : " $(cat ${PIPE_ERR})
echo "Contenu de TEST_FILS: ${TEST_FILS}"
rm -rf ${PIPE}
Zawartość LanceFils.ksh
#!/bin/ksh
TIMEOUT=5
export TEST_FILS
echo "Je suis le script fils et j'attends ${TIMEOUT} secondes"
echo "Nom du pipe du pere ${PIPE}"
sleep ${TIMEOUT}
TEST_FILS="Je suis le fils"
echo "Salut c'était bien !!!"
exit 10
Wiem, że to nie działa, btw próbuję znaleźć sposób, aby to działało ... W moim kodzie widać, że chcę współdzielić zmienną TEST_FILS między dzieckiem a rodzicem. W KSH istnieje sposób na udostępnienie zmiennej, tak jak w perlu, za pomocą „share” lub jeśli muszę użyć potoku takiego jak w C?
Dziękuję Ci.