我的用户 ~/bin 文件夹不起作用

我的用户 ~/bin 文件夹不起作用

我正在运行 12.04

我有两个文件

/usr/bin/uim-tomoe-gtk  
~/bin/uim-tomoe-gtk

第一个是 tomoe kanji 程序,
第二个是运行 kanjipad 的脚本

#!/bin/bash
exec kanjipad $@
exit 0

我希望现在能够uim-tomoe-gtk在终端中输入并启动我的 kanjipad 应用程序。但是却出现了 uim-tomoe-gtk 程序。

我做错了什么或者我需要提供什么信息?

答案1

你需要做两件事。

首先,如果 ~/bin/ 不存在,则登录时 shell 将无法将其添加到 $PATH 中。创建目录后,您必须注销并重新登录,或者使用以下命令启动新的登录 shell:

/bin/bash -l

或者使用以下命令手动将 ~/bin 添加到您的路径中:

export PATH=/home/user/bin:$PATH

其次,shell 会保留程序所在位置的缓存。如果您在 ~/bin/(或 /usr/local/)中创建了一个脚本,而该脚本会遮盖 /usr/ 中的某些内容,那么您必须手动更新缓存。您可以使用以下命令彻底清除缓存,该命令应该可以解决问题:

hash -r

答案2

问题可能是它在你的 PATH 中/usr/bin处于领先地位,或者根本不在你的 PATH 中。~/bin~/bin

要修复此问题,请将此行放在 .bash_profile 文件的末尾:

export PATH=~/bin:$PATH

但请注意,这将对 ~/bin 文件夹中的其他脚本执行相同的操作。例如,如果您有/usr/bin/example_command ~/bin/example_command,您的主目录中的命令将优先。

老实说,我只会重命名该脚本。

相关内容