Вы можете указать полный путь к команде, когда вы запускаете ее:
/usr/bin/execfile
или же
/usr/local/bin/execfile
запустить точный файл по этому пути
У меня есть два отдельных файла на моем компьютере,
which execfile /usr/local/bin/ /usr/bin/
Итак, у меня есть два файла с одинаковым именем в двух разных каталогах. Как я могу точно указать, какую команду запустить?
Благодарю.
Вы можете указать полный путь к команде, когда вы запускаете ее:
/usr/bin/execfile
или же
/usr/local/bin/execfile
запустить точный файл по этому пути
/usr/local/bin/execfile
или же
/usr/bin/execfile
также проверьте это, если они оба принадлежат одному и тому же файлу - как это может быть ссылка
ls -al /usr/bin ls -al /usr/local/bin
и проверьте, связаны ли они вместе
если они связаны, то вы можете выполнить любую без разницы, иначе вы должны указать полный путь
При попытке выполнить команду Foo, Foo ищется в каталогах, указанных в переменной PATH среды, в том же порядке, как они указаны. Если вы хотите избежать этого, введите полный путь к исполняемому файлу.
Введите это в терминале:
echo $PATH
чтобы увидеть фактическое содержимое переменной среды PATH.
Например, если вы хотите всегда выполнять первые исполняемые файлы внутри / bin, убедитесь, что / bin идет первым внутри $ PATH. Вы можете указать PATH в файле .profile в вашем домашнем каталоге. Так что для примера выше, отредактируйте файл и поместите эту строку в конец:
экспорт PATH = / bin: $ PATH
Это будет работать только для вашего пользователя. Если вы хотите указать $ PATH общесистемным способом (он будет работать для всех пользователей, кроме тех, кто изменяет его в своем .profile), добавьте ту же строку выше в файл / etc / profile (вам потребуются права root). .)
Также помните, что файлы профиля анализируются только изначально. Это означает, что если вы отредактируете свой личный файл .profile, вам придется заставить свою оболочку повторно его анализировать. Вы можете сделать это, выйдя из системы и снова войдя в систему, или набрав:
источник ~ / .profile
Для общесистемного изменения введите
источник / etc / profile
Это заставит ваш текущий сеанс оболочки повторно проанализировать файл профиля. Если вы хотите, чтобы ваша полностью загруженная система снова проанализировала ее, я думаю, вам лучше перезапустить сеанс.
Также помните, что это может измениться, если вы используете оболочку, отличную от bash.
Вы можете найти интересную информацию на странице руководства bash: http://linux.die.net/man/1/bash
Смотрите раздел «Выполнение команд».
Напишите псевдоним в ~ / .profile:
alias execfile='/usr/local/bin/execfile'
После следующего входа в систему правильная версия будет выбрана автоматически. Начните другие с полного пути.
/usr/local/bin/execfile /usr/bin/execfile