我有一些可以直接从终端运行的命令:
my_command
并且运行良好。但是,我想禁用它以这样的方式运行。我知道它位于哪里:
which my_command
它给出了文件的位置my_command
。但是,我如何找出指向它的符号链接在哪里,并让它在不指定完整路径的情况下运行 vai 终端?或者文件中的记录,如~/.bashrc
。我还能在哪里寻找它?
my_command
我查找了in的链接或记录/usr/bin
,~/.bashrc
但什么也没找到。但这也可能意味着我找不到它。
答案1
我认为你可能看错了。bash shell 不仅查看/usr/bin
整个目录集:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/braiam/.rvm/bin
您的命令应该位于其中一个目录中,或者具有调用它的函数/别名。对于这些情况,您可能更喜欢type
:
$ type ls
ls is aliased to `ls --color=auto'
$ type jobs
jobs is a shell builtin
$ type apt-get
apt-get is /usr/bin/apt-get
答案2
除了/usr/bin
搜索要运行的命令之外,还有更多目录。完整列表保存在$PATH
变量中。要查看其内容,请运行echo $PATH
。
您的脚本(或其符号链接)应该位于其中一个目录中。
更新:不幸的是,该$PATH
变量可以在 shell 提供的任何文件中设置。 开始查找的好地方是/etc/environment
、、和。/etc/profile
此外,有些人建议在中设置,因此检查那里也可能会有帮助。/etc/bashrc
~/.bashrc
~/.bash_profile
$PATH
/etc/X11/xsession.d/90environment