Если первая строка точно такая, как вы показали ее здесь, и вы выполняете строку из консоли в другом каталоге, чем сценарий, из которого вы запускаете сценарий, то наиболее вероятным объяснением является наличие файла в каталоге сценария. у которого есть односимвольное имя файла, которое является одним из символов в «драйвере».
Оболочка видит [driver]
потенциальный глобус и пытается сопоставить его с именами файлов в каталоге. Если он находит тот, который соответствует, он заменяет имя для глобуса. Например, результирующая команда, которая выполняется, может выглядеть так:
update_drv -a -i '[myhardware]' d
которые могут иметь непредвиденные последствия.
Чтобы предотвратить это, поместите кавычки вокруг последнего аргумента, как у предыдущего.
Тем не менее, я подозреваю, что ваши строки в скобках - просто заполнители, и вы пропустили информацию, которая может оказаться полезной при попытке найти потенциальные решения. Кстати, документация Oracle, похоже, указывает на то, что перезагрузка, скорее всего, в любом случае необходима.
Чтобы устранить неполадки в вашем сценарии, добавьте set -x
в верхней части, чтобы вы могли увидеть след. Вы также можете добавить строку, например, echo "here"
после первой (или любой) строки, чтобы увидеть, насколько далеко продвинется ваш скрипт. Странно, что вы не получаете никаких сообщений об ошибках.
Другая возможность - это испорченное двоичное или плохое оборудование, но это маловероятно, поскольку оно работает в командной строке.
Другое, возможно, основное соображение заключается в том, что среда отличается между сеансом консоли и сценарием. Вы не говорите, запускаете ли вы свой скрипт из командной строки или cron
. В этих обстоятельствах часто бывает так, что PATH
переменная или некоторая переменная окружения установлены по-разному или не установлены. Один из способов диагностики заключается в добавлении команды, как set > script_env.out
в вашем скрипте, и выполнении set > cons_env.out
в командной строке diff
двух файлов и поиске существенных различий. Вы запускаете скрипт и консольную команду как разные пользователи? Это также имеет эффект.