О чем вы?
Вы не хотите, чтобы скрипт выполнялся сам по себе? Если сценарий предназначен для источника, он не должен даже иметь установленный исполняемый бит. Ни шебанга. Не быть помещенным в ваш PATH.
Вас раздражает ввод этих двух дополнительных символов, точки и пробела, во время живого сеанса bash? Просто определите псевдоним .
alias script.sh='. /path/to/script.sh'
И, как и исполняемые файлы в вашем PATH, псевдонимы будут автоматически заполняться при вводе.
ПС. Для PATH -, например включения вашей растущей коллекции скриптов, вы можете создать все псевдонимы в своем ~/.bashrc с помощью некоторого фрагмента, например:
for F in $(find /path/to/collection); do alias ${F##*/}=". $F"; done
В рыбной оболочке вкладка завершает общий префикс, если только общий префикс не пуст, и в этом случае запускается пейджер. Это конкретное поведение не настраивается.
Внутри пейджера можно перемещаться множеством способов:
Выход (через привязку cancel
)избавляет вас от необходимости возвращаться назад, если вы передумаете.
Можно заменить поведение вкладки по умолчанию. Например, чтобы вкладка ничего не делала, если пейджер виден:
bind \t 'if not status -P ; commandline -f complete; end'
Здесь говорится: «Если пейджер не отображается, выполните «полную» функцию чтения».