У меня есть команда, которую я могу запустить прямо из терминала:
my_command
, и она работает хорошо. Тем не менее, я хочу отключить его для запуска таким образом. Я знаю, где он находится:
which my_command
, и он дает мне местоположение файла my_command
. Тем не менее, как я могу выяснить, где находится символическая ссылка, указывающая на него и позволяющая запустить vai терминал без указания полного пути? Или запись в файл типа ~/.bashrc
. где еще мне его искать?
Я искал ссылку или запись для my_command
в /usr/bin
и ~/.bashrc
, но ничего не нашел. Но это также может означать, что я просто не смог его найти.
Думаю, вы смотрите не туда. Оболочка bash просматривает не только /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
Существует больше каталогов, чем просто /usr/bin
поиск команд для запуска. Полный список сохраняется в переменной $PATH
. Чтобы увидеть его содержимое, запустите echo $PATH
.
Ваш скрипт (или символическая ссылка на него) должен находиться в одном из этих каталогов.
ОБНОВЛЕНИЕ : К сожалению, переменная $PATH
может быть установлена в любом файле, полученном из оболочки. Хорошие места, чтобы начать искать это /etc/environment
, /etc/profile
, /etc/bashrc
, ~/.bashrc
и ~/.bash_profile
. Кроме того, некоторые люди рекомендуют установить $PATH
в /etc/X11/xsession.d/90environment
, поэтому проверка также может помочь.