我正在尝试执行一些手动安装bin
在我$HOME
(普通用户)目录中的二进制文件。
文件存在于/home/user/bin
并具有执行权限:
$ ls -la ~/bin/
total 120
drwxr-xr-x 2 my_user my_user 4096 déc. 8 12:04 .
drwxr-xr-x 94 my_user my_user 4096 déc. 8 12:23 ..
-rwxr-xr-x 1 my_user my_user 4843 déc. 8 12:04 dplx
-rwxr-xr-x 1 my_user my_user 6515 déc. 8 12:04 dprint
-rwxr-xr-x 1 my_user my_user 2123 déc. 8 12:04 dprintm
-rwxr-xr-x 1 my_user my_user 15494 déc. 8 12:04 duplex
-rwxr-xr-x 1 my_user my_user 6501 déc. 8 12:04 kmprb
-rwxr-xr-x 1 my_user my_user 11069 déc. 8 12:04 kmprb_one
-rwxr-xr-x 1 my_user my_user 5543 déc. 8 12:04 krmpq
-rwxr-xr-x 1 my_user my_user 8267 déc. 8 12:04 mpr
-rwxr-xr-x 1 my_user my_user 25452 déc. 8 12:04 mprb
-rwxr-xr-x 1 my_user my_user 2953 déc. 8 12:04 pqnext
-rwxr-xr-x 1 my_user my_user 896 déc. 8 12:04 rmpq
并包含对(这是 debian 上的默认设置)~/.profile
的调用。~/bin
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
但是,重启后无法识别二进制文件:
$ duplex
bash: duplex : commande introuvable
我也尝试过source .bashrc
并且source .profile
.第二个有效,但仅适用于终端(如果我关闭它并重新打开一个新终端,则该命令将不再被识别)。
我如何永久安装这些二进制文件?
答案1
这些文件profile
旨在由所有 shell 在启动时读取登录贝壳。系统范围/etc/profile
(和/etc/profile.d)或用户添加的文件~/.profile
。
对于交互式非登录 shell,(大多数 shell)您应该使用 file(s) .bashrc
。
只需移动代码:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
从~/.profile
到~/.bashrc
。
或者,替代(我真的不推荐)源~/.profile
在~/.bashrc
.
为了更好地了解文件的使用方式,请看看这张图片。