Я нашел эту команду:
lsblk -o name,serial,uuid,partuuid,label,partlabel /dev/sdb
Причина этого в том, что Bourne Shell(sh
)не поддерживает массив (не таким образом, как вы хотите использовать ). Так что не используйте sh
, оставайтесь с bash
, ksh
, zsh
и т. д.
Дополнительную информацию можно найти в этом ответе
The Bourne shell or the POSIX sh language specification don't support arrays. Or rather they have only one array: the positional parameters ($1, $2, $@, so one array per function as well).
И f run as sh hello.sh
будет прочитан sh
независимо от shebang и текущей оболочки.