|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Alexey Morozov 2:5020/400 09 Dec 2000 18:30:16 To : All Subject : Памяти любителей shell программинга посвящается --------------------------------------------------------------------------------
Вот, столкнулся с такой вот глупой ситуацией:
-------------------------------------------
#!/bin/sh
ROOTFS="nowhere"
ROOTFSTYPE="unknown"
if [ -f /proc/mounts ]
then
MOUNTF=/proc/mounts
else
if [ -f /etc/mtab ]
MOUNTF=/etc/mtab
else
echo "mount info file not found"
exit
fi
fi
cat "$MOUNTF" | while read D_WHAT D_WHERE D_TYPE args
do
if [ "${D_WHERE:-nothing}" = "/" ]
then
ROOTFS="$D_WHAT"
ROOTFSTYPE="$D_TYPE"
export ROOTFS
export ROOTFSTYPE
echo "(Process $$) Found ROOTFS: ('$ROOTFS':'$ROOTFSTYPE')"
fi
done
echo "(Finally $$) Found ROOTFS: ('$ROOTFS':'$ROOTFSTYPE')"
-------------------------------------------------------------
Вот такой вот простецкий скрипт, который я старался писать максимально
аккуратно. Внимание, вопрос: у кого что напечаталось в результате его
исполнения? Я пробовал на bash-2.03.0(1)-release, bash-2.04.11(1)-release,
ash какой-то версии, ksh-5.2.12, и результаты меня, мягко говоря, озадачили.
Это так и задумано, что из простого while'а в рамках _одного процесса_
не передать переменные наружу??
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix/117490c847dcc.html, оценка из 5, голосов 10
|