Подскажите пожалуйста, нужно парсить вывод утилиты smbclient -gNL $ip, находить в выводе сервер samb`ы и его шары, но приходится сначала сливать вывод smbclient в tmp файл (так-как если испоьзовать конвеер переменные за циклом не будут сохраняться из-за subshell`a), чтобы его потом построчно разобрать в теле цикла и передавать результаты в переменные для дальнейших действий в функцию, вопрос заключается в том можно ли убрать tmp файл, используя каким нибудь образом конвеер, так-как ip много, нехочется делать лишнюю нагрузку на файловую систему, да и некрасиво это как мне кажется!? p.s. пишу на shell, a не на bash, поэтому перенаправление в стиле "done < <(чего-то там)" не работает. 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
|