В /etc/fstab
просто удостоверьтесь, что запись для DVD-привода не упоминается там. Это должно заботиться о нем.
Конечные данные на линии будут помещены в последнюю переменную, то есть. C
содержит «3 4 5 6». Таким образом, вы, вероятно, хотите:
echo '1 2 3 4 5 6' | while read a b c rest ;do
echo result: $c $b $a;
done
и игнорировать переменную REST
.
read
разбивает каждую строку стандартного ввода на слова точно так же, как ваша оболочка, когда вы пишете команды. После этого:
первому имени присваивается первое слово, второму - второе, и так далее, с оставшимися словами и их промежуточными разделителями, присваиваемыми фамилии
В Вашем случае a
присваивается значение 1, b
- значение 2, а c
- оставшаяся часть строки "3 4 5 6". Вы распечатываете c
(3 4 5 6
), затем b
(2
), затем a
(1
), и получаете результат, который вы видите.
Петля в данном случае ничего не делает, так как из Вашего первого эхо
считывается только одна строка.