если вы действительно хотите сделать [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 сами. Но вдруг кто-нибудь захочет этого, а также чтобы продемонстрировать, что это возможно-вот он.