From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,RCVD_ILLEGAL_IP, RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.2.5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1406698269; bh=scTEoxCbVnru8Hspx2rPliGV5Mh6yfjhDNZEKf3jRWU=; h=From:To:In-Reply-To:References:Subject:Date; b=ImcsUzVpsxfTmm52owQgvsWTsEl6plzfNhllGl0Cn/ww8zhXKRSHjotLnVWtWrjvK Aq4NSMsa2jq7MihgVgYa6FrF0KzLS+ihtBiw8dWgIf8EFil+4SsU9oGQFcVgEvr3D5 CdHCMy0oX89SpLXlSvbaDqz2SHTh6ReFbdiIVkQM= From: Speccyfighter Envelope-From: zxwarior@yandex.by To: ALT Linux Community general discussions In-Reply-To: <1258091406695580@web26j.yandex.ru> References: <53D1614C.9080402@rambler.ru> <1082471406231394@web30h.yandex.ru> <20140725012132.5a6a5835@sem-notebook> <1256811406243387@web28h.yandex.ru> <20140728234111.GB19913@mw.mithraen.ru> <3406861406630905@web13j.yandex.ru> <20140729161619.GB7385@mw.mithraen.ru> <719891406657587@web4h.yandex.ru> <20140729192028.GA2059@mw.mithraen.ru> <845131406663561@web16j.yandex.ru> <20140730005244.GB32238@mw.mithraen.ru> <1258091406695580@web26j.yandex.ru> MIME-Version: 1.0 Message-Id: <1404821406698269@web26j.yandex.ru> X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 30 Jul 2014 09:31:09 +0400 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 Subject: Re: [Comm] =?koi8-r?b?wdfUz83PztTJ0s/Xwc7JxSDCxdogREU=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2014 05:31:17 -0000 Archived-At: List-Archive: List-Post: 30.07.2014, 08:46, "Speccyfighter" : > 30.07.2014, 04:53, "Денис Смирнов" : >>  On Tue, Jul 29, 2014 at 11:52:41PM +0400, Speccyfighter wrote: >>>>   find /dev/disk/by-id/ -name usb-* -print0 \ >>>>       | xargs -0 realpath \ >>>>       | sort \ >>>>       | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE >>>   Во-во-во! То что надо. Коротко и всё необходимое для plmount >>>   на месте: >>>   Одно сомнение берёт: есть ли необходимость в SIZE? >>  В случае нескольких девайсов SIZE один из способов идентификации. >>  Я еще и MODEL хотел показывать, но это уже столь красивым способом не >>  получается. > > Ещё момент, при отсутствии флешки: > > find /dev/disk/by-id/ -name usb-* -print0 \ >       | xargs -0 realpath \ >       | sort \ >       | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE > realpath: пропущен операнд > По команде «realpath --help» можно получить дополнительную информацию. > NAME MOUNTPOINT LABEL FSTYPE   SIZE > sda                          149,1G > sr0                           1024M > > Но со вторым скриптом lmount, при отсутствии флешки, нормально: > > $ lmount2 > NAME MOUNTPOINT LABEL FSTYPE SIZE MODEL Есть ещё вариант для флешек заменой 'hmount -l' без sed: $ BLKUSB=$(find /dev/disk/by-id/ -name usb-* \ | grep -v part | sort) && [ -z "$BLKUSB" ] \ || lsblk $BLKUSB NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 3,6G 0 disk ├─sdb1 8:17 1 333M 0 part └─sdb2 8:18 1 3,3G 0 part sdc 8:32 1 7,5G 0 disk └─sdc1 8:33 1 707M 0 part $ pmount /dev/sdb2 $ BLKUSB=$(find /dev/disk/by-id/ -name usb-* \ | grep -v part | sort) && [ -z "$BLKUSB" ] \ || lsblk $BLKUSB NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 3,6G 0 disk ├─sdb1 8:17 1 333M 0 part └─sdb2 8:18 1 3,3G 0 part /media/sdb2 sdc 8:32 1 7,5G 0 disk └─sdc1 8:33 1 707M 0 part Флешек нет: BLKUSB=$(find /dev/disk/by-id/ -name usb-* \ | grep -v part | sort) && [ -z "$BLKUSB" ] \ || lsblk $BLKUSB $ (нет вывода) >>  В аттаче еще более универсальный вариант. Отличается от простого на шелл >>  тем, что: >> >>  1. поддерживает и USB-devices, _и_ все removable devices (т.е. должно >>  нормально понимать CD, флоппики, и т.д.) >> >>  2. игнорирует все упомянутое в /etc/fstab, даже если оно removable или >>  USB. Хотя нужно ли это -- не уверен. Если не нужно, можно легко обойтись >>  shell'ом без всяких извращений с перловкой. >> >>  P.S. Если будет ругаться на Text::Table -- apt-get install perl-Text-Table > -- Лучшее - враг хорошего! (Спектрумовский фольклор)