Шрифт подсказки не работает после обновления Ubuntu до 17.10

если вы действительно хотите сделать [F4] для работы, можно определить [ф5] функция Shell называется [ф6], что запускает новый корневой оболочки, когда бежишь, и просто беги [ф7] команды иначе.

как показано в другие ответы, большинство пользователей не хотят заморачиваться, но вместо этого хочется:

запустить нажать [F8] и [F9] и если вы хотите войти оболочку (помните, что одним из последствий [F10] для того, чтобы начать вы в корень домашней директории), или на [F11], чтобы [ф12] или быть в состоянии передать параметры оболочки. Бегите [от f13] в новой оболочке. Выполнять любые (другие) действия должны быть приняты как root в новой оболочке. После этого, запустите [ф14] оставить новую оболочку. Важно не забывать об этом, потому что Вы не хотите выполнить дополнительные действия, как корень, чем вы предполагаете!

так что, если вы хотите, то вы можете написать Шелл-функции (или скрипт), который выполняет первые два из этих действий, когда [с f15] с последующим [ф16], и только [f17 в] обычно иначе. Пожалуйста, не используйте это в качестве альтернативы обучения [ф18] иначе не получится, потому что если ты не понимаешь что происходит, то вы, вероятно, будет очень смущает в новую оболочку (и Вы не можете понять каких-либо сообщений об ошибках).

вот один из способов, чтобы написать такую функцию оболочки, который также напоминает вам, что вы находитесь в новой оболочке и что вы должны [зг19], когда вы закончите. (Это напоминание, скорее всего, будет полезна для пользователей не уровень мастерства, потому что никто вообще не привыкла к тому, что в новую оболочку, когда один бежит [20 фунтов] без [клавиши f21], [ф22], или имя оболочки в качестве аргумента.)

[Ф1]

Вы можете поместить это в ваш [ф23], хотя это достаточно странный способ использовать [ф24] что вам может понадобиться, чтобы иногда включить. В этом случае, лучше положить ее в свой собственный файл. Если создать файл с названием [f25 привод датчика] в вашем домашнем каталоге с содержимым, то вы можете сделать функцию [ф26] доступно-так, что он будет работать вместо обычного sudo команда--бег [ф28]. Что вступает в силу в текущей оболочке и ее дочерних снарядов, но не другим. По той же причине, что файлы, такие как .bashrc не исполняемый, не знаком [ф30] исполняемый с [ф31]. Это действительно библиотека, а не отдельный скрипт. Если Вы не запустить его как скрипт, он определяет функцию... но только в оболочке, который запустил скрипт, не для вас, как абонента. (Конечно, можно написать скрипт для этого, что только не случается, этот подход я взял здесь.)

, чтобы проверить и посмотреть, если [f32 из] В настоящее время определяется как функция Shell, и, чтобы увидеть его настоящее определение, если он один, запустить type sudo. Для отключения (т. е. сбросить) функцию, как только это определено, запустите unset -f sudo. Чтобы вручную запустить регулярные [ф35] команды напрямую, даже если функция Shell определяется, выполнять [f36 в]. Заметим, однако, что Вы не сделал, что эта функция [фунции f37] на самом деле это себя, когда есть более или менее двух аргументов, переданных или первый аргумент это что угодно, но cd. пожалуйста, не используйте это в качестве альтернативы обучения, почему [ф18] не получится

отметим также, что функция Shell показано выше, по-прежнему позволяют передавать другие аргументы [ф40], но которые могут помешать его лечения [ф41] специально. Работает sudo -u user cd directory, в частности, не поддерживается, хотя вы можете расширить функции Shell, чтобы поддержать это дело. Ни sudo -i cd directory. Раковины, что он создает, похоже на то, что вы получаете с [пулемет f44]. Код на самом деле не запустить [f45 с], но использует sudo bash, поэтому вариант -c работает правильно. Это на самом деле работает bash дважды, когда вы проходите cd и аргумент каталог (и не иначе). При запуске [ф50], сначала вилки выключения отдельной оболочки bash от одного вы используете функцию sudo и изменения в каталог. Если это удастся, может что bash Shell с новой, интерактивной, что можно использовать.

вот пример того, как эта функция Shell автоматически "не правильно". Обратите внимание, что sudo ls -A /root нормально ведет себя. Только потом, когда я попытка cd в каталог с sudo новый создал оболочку, и я вспоминаю четко, что происходит.

[Ф2]

если вы пытаетесь [f55, которая] в директорию, которую Вы не можете изменить даже как root, то вы просто получите сообщение об ошибке:

[Ф3]

я использовал sudo -k в между вызовами в приведенных выше примерах, чтобы показать, что он идентифицирует вас как корень , но которые могут помешать его лечения [ф41] специально пытаясь изменить каталог. Но вам не придется бегать sudo -k себя. Так как функция оболочки-это просто тонкая обертка для реальной sudo команда, кэширование учетных данных и других общих sudo поведение по-прежнему работать нормально.

, хотя он хорошо работает и это здорово, я признаю, что слежка за команду [от f60] с функция с таким же именем очень странно. Большинство пользователей, вероятно, просто хочу, чтобы выполнить шаги [ф61], cd directory сами. Но вдруг кто-нибудь захочет этого, а также чтобы продемонстрировать, что это возможно-вот он.

0
задан 27 October 2017 в 04:12

0 ответов

Другие вопросы по тегам:

Похожие вопросы: