在FreeBSD上重新加载.profile会导致错误

时间:2012-03-31 15:32:16

标签: shell path freebsd

我已经在FreeBSD 8.1上安装了Google的Go语言,在.profile中添加了编译器/解释器到我的PATH的路径,现在我正在尝试重新加载它。

$ . ~/.profile

这就是我得到的:

/usr/local/bin/.: Permission denied.

我还尝试使用source代替.,但这会在文件的每一行中出错,例如HOME=/root: Command not found.

我该怎么办?这是问这些问题的合适地方吗?

2 个答案:

答案 0 :(得分:2)

我认为扩展用户路径的正确方法是编辑用户的shell配置文件。 FreeBSD中普通用户的默认shell是tcsh,您可以使用~/.cshrc配置文件。

要修改PATH环境变量,请在主目录中创建或编辑.cshrc文件,并在其中放置以下示例行:

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

然后运行:

$ source ~/.cshrc

使用以下方式验证您的设置:

$ echo $path /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /home/danger/bin

答案 1 :(得分:0)

FreeBSD上的默认交互式shell是tcsh。它的语法与sh的语法不同。只有后者使用~/.profile

扩展路径的正确方法是在/etc/login.conf的默认配置文件中修改它。然后以root身份运行cap_mkdb /etc/login.conf,注销并再次登录。