.bashrc: отказано в разрешении

Я пытаюсь работать с проектом в бродяге. Я выполнил команду vagrant ssh и подключился к VM. Теперь мне нужно отредактировать файл .bashrc, чтобы установить путь к исходному коду. Но сначала я не смог найти этот файл. Поэтому я googled и обнаружил, что путь - это команда вызова ~/.bashrc. Но я получаю сообщение, что у меня нет доступа к нему:

[[email protected]:~]$ ~/.bashrc
-bash: /home/vagrant/.bashrc: Permission denied

Так что теперь делать?

UPD. Я не могу найти файл .bashrc. Когда я пытаюсь сделать команду ls -a, я получаю следующее:

[[email protected]:~]$ ls -a
.              .bash_logout   cleanup.sh   sshd.sh        .veewee_params
..             .bash_profile  minimize.sh  vagrant.sh     .veewee_version
.bash_history  .bashrc        .ssh         .vbox_version  .zsh_profile
[[email protected]:~]$ locate .bashrc
/etc/skel/.bashrc
/home/vagrant/.bashrc
/var/chef/backup/etc/skel/.bashrc.chef-20130614181911
/var/chef/backup/home/vagrant/.bashrc.chef-20130614181912
[[email protected]:~]$

Но только место, где я могу найти некоторые из этих файлов, - это каталог, в котором установлен cygwin. Pls, см. Иллюстрации, они отражают отношения между каталогами бродячих и кигвинов. enter image description here

Ответ 1

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

. ~/.bashrc

Ура!

Ответ 2

Если вы хотите отредактировать этот файл (или вообще любой файл в целом), вы не можете редактировать его, просто называя свое имя в терминале. Для этого вам нужно использовать команду в текстовом редакторе. Например:

nano ~/.bashrc

или

gedit ~/.bashrc

И вообще, для любого типа файла:

xdg-open ~/.bashrc

Написание только ~/.bashrc в терминале, это попытается выполнить этот файл, но .bashrc файл не предназначен для исполняемого файла. Если вы хотите выполнить код внутри него, вы можете указать его следующим образом:

source ~/.bashrc

или просто:

. ~/.bashrc 

Ответ 3

Если вы не можете получить доступ к файлу, а ваш os - любой дистрибутив linux или mac os x, то любая из этих команд должна работать:

sudo nano .bashrc

chmod 777 .bashrc 

это бесполезно

Ответ 4

Файл .bashrc находится в домашнем каталоге пользователя (~/.bashrc или ~ vagrant/.bashrc оба разрешены к одному и тому же пути) внутри файловой системы VM. Этот файл невидим на главной машине, поэтому вы не можете использовать любые редакторы Windows для непосредственного редактирования.

У вас есть два простых варианта:

  • Узнайте, как использовать текстовый редактор на основе консоли. Моим любимым является vi (или vim), который занимает 15 минут, чтобы изучить основы и намного быстрее для простых изменений, чем что-либо еще.

    vi.bashrc

  • Скопируйте .bashrc в /vagrant (который является общим каталогом) и отредактируйте его с помощью редакторов Windows. Не забудьте сохранить его с любыми расширениями.

    cp.bashrc/бродяга ... редактировать с помощью хост-машины... cp/vagrant/.bashrc.

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

Вы (бродячий пользователь) являетесь владельцем вашего дома .bashrc, поэтому у вас есть разрешения на его редактирование.

После редактирования вы можете выполнить его, набрав   источник .bashrc Я предпочитаю выйти и снова (может быть несколько файлов, выполненных при входе в систему).