Подскажите пожалуйста, нужно парсить вывод утилиты
smbclient -gNL $ip, находить в выводе сервер samb`ы и его шары, но приходится сначала сливать вывод smbclient в tmp файл (так-как если испоьзовать конвеер переменные за циклом не будут сохраняться из-за subshell`a), чтобы его потом построчно разобрать в теле цикла и передавать результаты в переменные для дальнейших действий в функцию, вопрос заключается в том можно ли убрать tmp файл, используя каким нибудь образом конвеер, так-как ip много, нехочется делать лишнюю нагрузку на файловую систему, да и некрасиво это как мне кажется!?
Код: Выделить всё
while read line
do
object=`echo $line|awk -F"|" '{print $1}'`
case "$object" in
Disk)
tmp=`echo $line|awk -F"|" '{print $2}'`
dsk="$tmp $dsk"
;;
IPC)
ipc=`echo $line|awk '{print $3}'|tr -d "()"`
;;
Server)
echo $line|grep -q $ipc
if [ $? -eq 0 ]
then
srv=`echo $line|awk -F"|" '{print $2}'`
fi
;;
esac
done < $ip.smb