Использовать команды под каталогом только для интерактивного использования?

У меня есть bin/ under $HOME . Это содержит расширенные версии общих команд. Следовательно, я не хочу, чтобы эти команды использовались скриптами, но только для использования в интерактивном режиме.

Я могу сделать это, чтобы добавить

 for f in ~/bin/* do alias "$(basename $f)"="$f" done 

к моему ~/.bash_profile ? Или есть другое решение?

3 Solutions collect form web for “Использовать команды под каталогом только для интерактивного использования?”

Вы также можете добавить строки следующим образом к вашему .bashrc , который устанавливает только PATH если вы находитесь в интерактивной оболочке.

 if [ "$PS1" ] then export PATH=~/bin:$PATH fi 

Вы можете использовать модули среды для ручного включения (загрузки) модуля, задающего нужный путь

 module load homebin 

Где будет выглядеть модуль homebin

 #%Module1.0 prepend-path PATH ~/bin 

http://modules.sourceforge.net

Это зависит от того, какая оболочка и (к сожалению) какая система вы используете. Например, Bash использует разные файлы запуска в зависимости от того, используется ли он как интерактивная или неинтерактивная оболочка, как описано в руководстве bash .

В принципе вы должны иметь возможность добавить export PATH=$HOME/bin:$PATH в ваш файл ~/.bashrc , который затем будет выполнен только для интерактивных оболочек без входа. На практике некоторые системы настроены так, что они читают ~/.bashrc также для неинтерактивных оболочек.

Связанные вопросы:

  • В чем разница между .bashrc, .bash_profile и .environment?
  • О .bash_profile, .bashrc и где должен быть написан псевдоним?
  • почему завершение не работает для всех псевдонимов?
  • Пытаться выдать длинную команду дает мне лишь часть ее
  • Псевдонимы в csh
  • Псевдонимы
  • Почему псевдоним отличается от запуска команды bash?
  • Команда работает в оболочке bash, но не в псевдониме
  • Как псевдоним части выражения для поиска?
  • Псевдонимы для программ в / sbin /
  • cshell alias: как использовать вложенные одинарные кавычки (') в псевдониме cshell
  • Идентифицировать псевдоним для введенной команды
  • Почему сглаживание над стандартными командами не рекомендуется?
  • Interesting Posts

    Leafpad игнорирует gtkrc

    Скопировать-вставить между гостевым и хостом Hyper-V

    подстроки и регулярные выражения

    Сколько контрольных точек в RHEL / CentOS убедитесь, что ни у кого нет доступа sudo / root

    «Mount -t TYPE /» – как узнать, что может быть «ТИП»?

    Распределенный репозиторий пакетов для Linux?

    Перейдите в каталог, содержащий пробел

    Как получить доступ к флеш-накопителям в режиме CLI?

    Как фильтровать все файлы типа, содержащие шаблон

    Логистика копирования большого количества файлов scp-сервера на сервер. Как определить прогресс?

    Как обеспечивается атомарность yum?

    Systemd – как служба может определить первый запуск с момента запуска?

    Zsh / Tmux: скрипт находит конкретный сеанс, настраивает макет, затем запускает команды на панелях

    Почему проприетарный драйвер nvidia нарушает зависимости ядра?

    Существует ли привязка ключа к переключению на «последнее» рабочее пространство в mint 17.2?

    Linux и Unix - лучшая ОС в мире.