Intereting Posts
Преобразование одного загрузочного одиночного жесткого диска в RAID 1 без его удаления Fedora перечисляет все пакеты не в «чистой» установке MATE: Плитка 2 окна рядом друг с другом Linux From Scratch 7.10 issue, раздел EFI Последовательная программа не отвечает при загрузке 'find -mtime -1 -print | xargs tar 'архивирует все файлы из каталога, игнорируя аргумент -mtime -1 В чем разница между консолью, оболочкой, терминалом, эмулятором терминала, терминальным мультиплексором и диспетчером окон? правила аудита linux, исключая на основе типа msg exe, для команды su Как игнорировать «сертификат еще не действителен» Проблема с установкой дополнительных разделов после обновления ядра Вывести визуальное (ASCII) дерево зависимостей Debian на терминал? Как я могу записать выходные данные сценария Shell в файл журнала Команды SM- * не распознаются Emacs Будет ли g ++ строить 64-битную на 64-битной системе? Bash ждет рабочих мест и ограничивает количество заданий

сценарий оболочки выполняется дважды

У меня есть этот небольшой фрагмент кода в shellscript для установки пароля:

if [[ -z "${PASS+x}" ]]; then read -p "enter pass or use default [test1234]" PASS if [[ -z "$PASS" ]]; then PASS="test1234" fi fi if [ $EUID != 0 ]; then sudo "$0" "$@" exit $? fi 

Когда я запускаю скрипт, команда чтения выполняется дважды. Это не должно произойти. Может кто-нибудь помочь мне найти ошибку.

полный скрипт: github (исправлено уже)

В вашем полном скрипте, с которым вы ссылаетесь, вы имеете следующее:

 if [ $EUID != 0 ]; then sudo "$0" "$@" exit $? fi 

Это делается после обработки всех параметров и read которые вы показываете в своем вопросе. Я предполагаю, что вы нажимаете этот блок кода, повторно создаете скрипт с помощью sudo и дважды нажимаете команду read – один раз перед перезапуском скрипта с использованием sudo и после этого.