如何识别安装在`~/bin`中的二进制文件?

如何识别安装在`~/bin`中的二进制文件?

我正在尝试执行一些手动安装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.

为了更好地了解文件的使用方式,请看看这张图片

相关内容