Сообщение об ошибке от dd
с жалобой на то, что не удается найти файл, который можно открыть, что может выглядеть как пустая строка.
Учитывая, что вы указали в комментарии, что это не такточно код, который дает сбой, мы не можем вам помочь - проблема не там, где вы думаете, поэтому поиск проблемы в rand
не поможет.
Скорее всего, у вас естьнекоторый вариант вашей командной строки, такой как:
dd if=$filel of=$file2 bs=4096 seek=$offset
, и у вас фактически есть опечатка, такая как l
для 1
в командной строке.Например:
$ dd if= of=/dev/null bs=23 count=2
dd: opening `': No such file or directory
$
Вы получите то же сообщение, если выходной файл отсутствует.Вы должны немедленно выполнить отладку с помощью:
sh -x yourscript
Вы также можете, конечно, добавить диагностический отпечаток, например:
echo rand=$offset 1>&2
(или, поскольку вы, вероятно, никогда не были пораженыс оболочкой, у которой были ошибки в нотации >&2
, на самом деле вы можете отбросить 1
, который я поместил туда рефлексивно, из-за плохого опыта в прошлые годы на машинах, работающих под эмулятором оболочки DOS / Windows.)