Понятно, что это происходит, потому что это то, что вы говорите. Обратные пометки означают: оцените эту строку, запустите ее как команду и дайте мне вывод.
Также read name
означает чтение данных в переменную name
.
Попробуйте:
echo $j | read k
Или даже удаление предыдущей строки:
du -s $i | read k
( Редактировать - При правильной проверке все работает нормально в ksh
, но не в bash
по некоторым причинам. Я думаю, что это может быть связано с подоболочками. Используйте обратные метки и cut
решение ниже, если вы используете bash.)
Вы можете оставить свои галочки и использовать cut
вместо read
:
k=`$du -s $i | cut -f1`
В этом случае это, вероятно, не даст вам намного больше, но cut
более мощный, чем read
, что может помочь вам в будущем.