ディスクがシステムに追加されたことを確認する

ディスクがシステムに追加されたことを確認する

だから私は基本的にディスクがシステムに追加されていることを確認し、そうであればディスクフォーマットなどのタスクを実行するスクリプトを書いています。

したがって、主な質問は、パーティション(または開発)なしでディスクをどのようにリストしますか?

私はそれらをリストできます:

fdisk -l | grep -o '/dev/sd[a-z][0-5]'
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sdb1

パーティションなしでディスクを一覧表示するには?私は次のことを試しました:

# fdisk -l | grep -o '/dev/sd[a-z][^0-5]'
/dev/sda:
/dev/sdb:
/dev/sdc:

しかし、まだsdaやsdbなどのパーティションを持つディスクを入手してください。sdcパーティションがなく、システムで使用されていない唯一のパーティションを選択したいと思います。私がこれをしたいのは、それをbashスクリプトに入れることができるからです。

ベストアンサー1

汚れたクイックループは次のことを行います。

#!/bin/bash
# get all disks into an array
disks=($(ls  /dev/sd* | grep -v '[0-9]')) 

# loop over disks in array
for i in $(echo ${disks[@]}); do
    # check if it has a partition
    diskcheck=$(ls ${i}* | grep '[0-9]')
    # if not, print it
    if [ -z "$diskcheck" ]; then
        echo $i
    fi
done

おすすめ記事