.bashrc:权限被拒绝

问题描述 投票:0回答:6

我尝试在 vagrant 中处理一个项目。 我已经发出命令

vagrant ssh
,并连接到虚拟机。现在我需要编辑
.bashrc
文件来设置源代码的路径。但首先我找不到那个文件。于是我google了一下,发现方法是调用命令
~/.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 之间的关系。 enter image description here

bash ssh vagrant permission-denied nupic
6个回答
44
投票

.bashrc
并不意味着要执行,而是要获取。试试这个:

. ~/.bashrc

或者,等价

source ~/.bashrc

请参阅有关

.
(又名
source
)内置的参考。


请注意,如果您要在修改

~/.bashrc
文件后重新启动 Bash 会话,您不妨使用:

exec bash

这将用新会话取代您当前的 Bash 会话(感谢

exec
)。


25
投票

如果您想编辑该文件(或一般的任何文件),您不能仅在终端中写入其名称来编辑它。您必须使用文本编辑器的命令才能执行此操作。例如:

nano ~/.bashrc

gedit ~/.bashrc

一般来说,对于任何类型的文件:

xdg-open ~/.bashrc

在终端中仅写入

~/.bashrc
,这将尝试执行该文件,但
.bashrc
文件并不意味着是可执行文件。如果你想执行其中的代码,你可以像下面这样获取它:

source ~/.bashrc

或者简单:

. ~/.bashrc 

11
投票

如果您无法访问该文件,并且您的操作系统是任何 linux 发行版或 mac os x,那么这些命令之一应该可以工作:

sudo nano .bashrc

chmod 777 .bashrc 

毫无价值


0
投票

.bashrc 文件位于您的用户主目录中(~/.bashrc 或 ~vagrant/.bashrc 均解析为同一路径),在虚拟机的文件系统中。该文件在主机上不可见,因此您无法使用任何 Windows 编辑器直接编辑它。

您有两个简单的选择:

  1. 了解如何使用基于控制台的文本编辑器。我最喜欢的是 vi(或 vim),它需要 15 分钟来学习基础知识,并且比其他任何东西都更快地进行简单编辑。

    vi .bashrc

  2. 将 .bashrc 复制到 /vagrant (这是一个共享目录)并使用 Windows 编辑器对其进行编辑。确保不要使用任何扩展名将其保存回来。

    cp .bashrc /vagrant ...使用您的主机进行编辑... cp /vagrant/.bashrc .

我建议了解基于命令行的编辑器。一旦您在虚拟机内工作,最好呆在那里,否则您可能会感到困惑。

您(流浪用户)是您的 home .bashrc 的所有者,因此您有权编辑它。

编辑完成后,您可以通过键入来执行它 源.bashrc 我更喜欢注销并再次登录(登录时可能会执行多个文件)。


0
投票

请找到修复 Linux 服务器上的 bash 限制错误的步骤。

如果您在尝试使用凭据登录服务器时收到以下受限消息,则可能是服务器中缺少目录权限的问题。

由于此权限问题,我们无法导航到所需的目录并收到错误“bash:cd:restricted”

修复:要释放 bash 限制错误,请使用 Linux 服务器中突出显示的命令 -bash -f

如果想限制权限,请使用突出显示的命令 - bash -r

执行 bash -f 命令后,目录中的限制将被释放,我们可以继续使用补丁脚本。


0
投票

你所有的 nvm 都已经安装好了。 请检查您当前使用的 bash 并将其重命名,并确保您使用该 bash(终端)。Please detail here

© www.soinside.com 2019 - 2024. All rights reserved.