Я не вижу .bashrc в своем корневом каталоге, но хочу внести постоянное изменение в свой путь

То, что я обычно делаю, включают полномочия пользователя root для определенной группы. Тем путем можно просто добавить пользователей, Вы хотите полномочия пользователя root той группе.

Править /etc/sudoers с visudo и добавьте (или прокомментируйте):

%wheel      ALL=(ALL) ALL

Затем добавьте своего пользователя к той группе:

gpasswd -a jack wheel
2
23.10.2013, 23:34
5 ответов

Если файл действительно не существует, и Вы на самом деле выполняете Bash, можно, вероятно, найти, что рабочая копия для получения Вас запустилась (это имеет много примеров для общего использования в комментариях) в /etc/skel/.bashrc. Это .bashrc это добавляется к корневому каталогу каждого нового пользователя по умолчанию. По крайней мере это - то, как это идет для большей части GNU/дистрибутивов Linux.

Важно удостовериться, что Вы выполняете Bash сначала, тем не менее, потому что при выполнении некоторой другой оболочки она не считает никого .bashrc файл Вы создаете или копируете.

Узнайте оболочку по умолчанию для своей учетной записи пользователя от:

getent passwd $(whoami) | awk -F: '{print $NF}'

Узнайте в настоящее время рабочую оболочку от:

ps -p $$ -o cmd=

Обновления

  • В соответствии с Mac OS X, Вы не найдете /etc/skel, необходимо скорее посмотреть под /System/Library/User\ Template/English.lproj/ как объяснено в этом SU Вопросы и ответы

  • Поиск, запрошенный Вашим другим вопросом, показывает это getent действительно не доступно в соответствии с Mac OS X. Мое плохое для предложения его. Я действительно думаю, что необходимо было поместить это в комментарий к ответу вместо того, чтобы запустить новый вопрос, все же.

6
27.01.2020, 21:51
  • 1
    echo $SHELL или env | grep SHELL удовлетворил бы... –  Charles Boyd 25.10.2013, 07:03
  • 2
    @CharlesBoyd Едва ли. Моя оболочка входа в систему по умолчанию /bin/bash. Когда я вхожу csh и сделайте echo $SHELL, Я все еще добираюсь /bin/bash. –  Joseph R. 25.10.2013, 14:27
  • 3
    Да, но Ваша оболочка по умолчанию /bin/bash так Ваш ~/.bashrc файл будет считан Вашей оболочкой по умолчанию после входа в систему. –  Charles Boyd 25.10.2013, 19:31

Можно сделать это:

echo 'export PATH=$PATH:/path/to/whatever' >> ~/.bashrc

Это добавит строку export PATH=$PATH:/path/to/whatever в конец Вашего ~/.bashrc файл, если это существует или создает файл и пишет строку в него, если файл не существует.

Если Вы не уверены в существующем файле, то это - безопасный способ записать (или создать) файл.

Можно также использовать if [ -f $PATH_TO_FILE ] ; then $DO_SOMETHING ; fi выражение для условной работы на файл, если это существует.

Во всяком случае да безопасно создать файл - и просто использование echo с добавлять в файл перенаправлением оператор является безопасным и простым способом сделать то, что Вы хотите. Никакая потребность в текстовом редакторе или чем-либо.

Можно проверить, что это работает:

cat ~/.bashrc

Это должно распечатать bashrc файл.

Теперь можно применить это к текущей сессии (не имея необходимость открывать новое окно терминала) и проверить что Ваш PATH устанавливается правильно как так:

source ~/.bashrc && echo $PATH

2
27.01.2020, 21:51

Любой разумный редактор создаст файл, который Вы пытаетесь записать, не существует ли он. Следовательно выполнение

your_favourite_editor ~/.bashrc

или откроет существующий файл или пустой. После того как Вы сохраняете его, файл будет или перезаписан (это, это существовало), или создал (если это не сделало). Это даже не конкретный UNIX (я, e. это работает над Windows также).

Безопасно создать файл, если это не существует - посмотрите раздел INVOCATION из bash(1) страница справочника. Вы могли бы хотеть source ~/.bash_profile как первая вещь там (если у Вас есть тот файл, конечно).

0
27.01.2020, 21:51
  • 1
    OP спрашивает, безопасно ли создать новый файл, не как. –  strugee 24.10.2013, 05:51
  • 2
    @strugee gah, я отправил ответ слишком быстро, благодарит указать на это. –  peterph 24.10.2013, 13:08

Кроме того, если вы решите использовать оба ~ / .bashrc и ~ / .bash_profile , убедитесь, что вы не создали рекурсивный цикл, выбрав один за другим. т.е. вызов ~ / .bash_profile из сценария ~ / .bashrc будет непрерывно повторяться и создавать новую оболочку каждый раз при запуске, заполняя ваш " / tmp & swap "пробел. Если вы являетесь пользователем «root», это может привести к сбою системы, если вы дадите ему поработать достаточно долго.

0
27.01.2020, 21:51

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

  1. echo "PATH=$PATH:/path/to/whatever" >> ~/.bashrc && source ~/.bashrc

теперь вы можете открыть bashrc с помощью gedit

  1. gedit .bashrc

Вы также можете редактировать имя пользователя root.

0
27.01.2020, 21:51

Теги

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