.bashrc: В доступе отказано
Я пытаюсь работать с проектом в бродяге. Я сделал команду vagrant ssh
и подключен к ВМ. Теперь мне нужно отредактировать .bashrc
файл для установки пути к исходному коду. Но сначала я не смог найти этот файл. Так что я погуглил и обнаружил, что путь к команде вызова ~/.bashrc
, Но при этом я получаю сообщение, что у меня нет доступа к нему:
[vagrant@nupic-vagrant:~]$ ~/.bashrc
-bash: /home/vagrant/.bashrc: Permission denied
Так что же теперь делать?
UPD. Я не могу найти файл.bashrc. Когда я пытаюсь сделать команду ls -a
Я получаю следующее:
[vagrant@nupic-vagrant:~]$ 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
[vagrant@nupic-vagrant:~]$ locate .bashrc
/etc/skel/.bashrc
/home/vagrant/.bashrc
/var/chef/backup/etc/skel/.bashrc.chef-20130614181911
/var/chef/backup/home/vagrant/.bashrc.chef-20130614181912
[vagrant@nupic-vagrant:~]$
Но только место, где я могу найти некоторые из этих файлов, - это каталог, где установлен Cygwin. Просьба посмотреть иллюстрации, они отражают отношения между каталогами vagrant и cygwin.
5 ответов
.bashrc
не предназначен для выполнения, но с источником. Попробуйте это вместо этого:
. ~/.bashrc
Ура!
Если вы хотите редактировать этот файл (или любой файл в целом), вы не можете редактировать его, просто записав его имя в терминале. Вы должны использовать команду для текстового редактора, чтобы сделать это. Например:
nano ~/.bashrc
или же
gedit ~/.bashrc
И вообще, для любого типа файла:
xdg-open ~/.bashrc
Только написание ~/.bashrc
в терминале это попытается выполнить этот файл, но .bashrc
Файл не должен быть исполняемым файлом. Если вы хотите выполнить код внутри него, вы можете получить его следующим образом:
source ~/.bashrc
или просто:
. ~/.bashrc
Если вы не можете получить доступ к файлу, а ваша ОС - это любой дистрибутив Linux или Mac OS X, то любая из этих команд должна работать:
sudo nano .bashrc
chmod 777 .bashrc
это ничего не стоит
Файл.bashrc находится в вашем домашнем каталоге пользователя (~/.bashrc или ~vagrant/.bashrc оба имеют одинаковый путь) внутри файловой системы виртуальной машины. Этот файл невидим на главном компьютере, поэтому вы не можете использовать редакторы Windows для его непосредственного редактирования.
У вас есть два простых варианта:
Узнайте, как использовать консольный текстовый редактор. Мой фаворит - vi (или vim), который изучает основы за 15 минут и намного быстрее для простых изменений чем что-либо еще.
vi.bashrc
Скопируйте.bashrc в /vagrant (который является общим каталогом) и отредактируйте его, используя ваши редакторы Windows. Удостоверьтесь, чтобы не сохранить это назад с любыми расширениями.
cp.bashrc / vagrant... редактировать, используя ваш хост-компьютер... cp /vagrant/.bashrc .
Я бы порекомендовал познакомиться с редакторами на основе командной строки. Как только вы работаете внутри виртуальной машины, лучше остаться там, иначе вы можете просто запутаться.
Вы (бродячий пользователь) являетесь владельцем вашего дома.bashrc, поэтому у вас есть права на его редактирование.
После редактирования вы можете выполнить его, набрав source.bashrc. Я предпочитаю выйти из системы и войти снова (при входе в систему может выполняться несколько файлов).
Пожалуйста, найдите шаг, чтобы исправить ошибку с ограничениями bash на серверах Linux.
Если вы получаете сообщение с ограничениями ниже при попытке войти на сервер, используя свои учетные данные, это может быть проблема с отсутствием прав доступа к каталогу на сервере.
Из-за этой проблемы с разрешениями мы не смогли перейти к нужным каталогам и получили ошибку «bash: cd: limited»
Исправлено: чтобы снять ошибку ограничения bash, используйте выделенную команду на сервере Linux -bash -f
То же самое, если вы хотите ограничить разрешение, используйте выделенную команду - bash -r
Как только вы выполните команду bash -f, ограничения будут сняты с каталогов, и мы сможем приступить к сценариям исправления.