Если я попытаюсь использовать sudo kate
для редактирования системного файла, я получаю сообщение:
Выполнение Kate как root невозможно. У кого-нибудь есть решение для этого?
Я пишу сценарий на Bash, который запрашивает у пользователя пароль, и мне нужно, чтобы набранный текст не отображался, как при вводе пароля ssh.
У кого-нибудь есть решение для этого?
Если я пойму, что вы описали (вы не сказали, какие репозитории, и если вы установили какие-либо ограничения пакетов), это вызовет ваш bionic система должна обновиться до отличная и, вероятно, сломается, так как это не протестированный / поддерживаемый путь обновления и пропускает защиту, обеспечиваемую правильными инструментами релиз-обновление . Ваша система также завершит работу, когда groovy сделает это, т.е. также больше не будет выпуском LTS. Это неразумно, если вы не учитываете последствия ( исследование пакетов, которые будут установлены, какие части вашего программного стека будут изменены, что повлияет на то, что еще вы установили и т. Д. )
измененное пояснение
Apt & package инструменты ищут пакеты, которые можно обновить ... и обновите все bionic пакеты, которые находятся в groovy исходниках (то есть почти в каждом установленном вами пакете), поэтому я сказал, что вы не будете использовать bionic ] больше. Вы переключитесь на groovy и, вероятно, сломаете вашу систему. Даже если вы переключите источники обратно на bionic , вы больше не будете запускать bionic , а вместо этого frankensystem
Если вы сделаете это изменение, sudo apt update
, а затем попробуйте и установите только один пакет, который тоже может не работать, это будет зависеть от пакета.
Если пакет, например, обои для groovy , в нем не будет ~ никаких зависимых правил, которые будут задействовать другие groovy пакеты. Однако большинство пакетов будут иметь правила зависимостей , которые вызывают установку других пакетов, эти пакеты также имеют свои собственные правила зависимости и т. Д., Таким образом, один пакет обычно втягивает другие, остальные втягивает больше. ( эффект снежного кома )
Для пакета обоев groovy (например, https://packages.ubuntu.com/groovy/ubuntu-wallpapers показан один focal зависит (что на самом деле связано с тем, что у groovy еще не было упакованных обоев, поэтому быстрое временное решение - просто использовать focal .. простой пример). Однако большинство пакетов не так просты, что и является проблемой. -s не отражать ввод, поступающий с терминала
Чтобы терминал не отображал набранный текст, echo
требует быть выключенным. Это делает команда stty -echo
. Чтобы вернуться к нормальному состоянию, запустите stty echo
.
Пример:
#!/bin/sh
printf "Enter password: "
stty -echo
read -r password
stty echo
echo ""
echo "password=$password"
Если из-за опечатки или другой ошибки скрипт не может восстановить эхо, запустите reset
для восстановления .
Приведенный выше сценарий, включая использование stty и read , совместим с POSIX. Это означает, что он будет работать как с bash
, так и с / bin / sh
.