配列を展開すると、予期しない結果が表示されます。誰かが私が見るものを見る理由を説明できることを願っています。 fdisk -lを使用して配列を埋め、単一の要素のみを取得しようとしています。パスワード:
#!/bin/bash
declare -a PARTITIONS=();
PARTITIONS=$(fdisk -l ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img | grep -i ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img | sed '/Disk/d' | cut -d " " -f1)
echo "PARTITIONS[@]:${PARTITIONS[@]}"
echo "ELEMENT 0: ${PARTITIONS[0]}"
echo "ELEMENT 1: ${PARTITIONS[1]}"
出力:
PARTITIONS[@]:ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img1 ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img2
ELEMENT 0: ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img1 ubuntu-minimal-16.04-desktop-armhf-raspberry-pi-2.img2
ELEMENT 1:
要素1はありません。私は何が間違っていましたか?
ベストアンサー1
配列に割り当てる場合:
array=( elements )
つまり、
PARTITIONS=( $(fdisk ... ) )