スクリプトのためにZFSプールのvdevデバイス名を一覧表示するコマンドは何ですか?

スクリプトのためにZFSプールのvdevデバイス名を一覧表示するコマンドは何ですか?

ランダムプールのすべてのvdevにあるディスクのデバイス名を必要とするスクリプトを作成しています。 (私のプール内のvdevのすべてのデバイスはディスクです。)

zpool list -v mypoolname主に私が望むようです。

$ zpool list -v mypoolname
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
mypoolname   100G   90G  10.0G    90%  1.00x  ONLINE  -
  mirror   100G   90G  10.0G         -
    devicename1      -      -      -         -
    devicename2      -      -      -         -

しかし、どの出力ラインがディスクであるかを決定する唯一の確実な方法は、ラインの先頭に4つのスペースがあることを確認することです。

置換できるより良いスクリプトに安全なコマンドはありますか?

答え1

zpool list -v -H -P

-v verbose
-P show full paths, not just the last component
-H script mode - no headings, fields separated by tab character

これはあなたをより近づけるでしょう。

関連情報