Псевдоним источника предотвращает отображение меньшего буфера

#zsh #alias

#zsh #Псевдоним

Вопрос:

Я пишу скрипт bash, который должен быть доступен cd как в текущей оболочке, так и less для отображения длинного текста. Чтобы иметь возможность cd , я понимаю, что мне нужен source скрипт, когда я его вызываю, что я сделал с помощью псевдонима в моей конфигурации ZSH. Однако, когда я делаю это, less прерывается: вместо echo -e "$result" | less отображения обычного буфера прокрутки длинный текст сбрасывается в оболочку.

Для контекста это сценарий bash, действующий как оболочка для Node.js скрипт, чтобы иметь возможность иметь собственный доступ к командам bash (например cd , open , и т.д.). Псевдоним в моем zshrc выглядит следующим образом (с усеченным путем): alias bk='source ~/.../bookmark/bookmark.sh' .

Есть ли какой-либо способ удовлетворить как необходимость cd , так и необходимость использования less ?

Комментарии:

1. Вы установили опцию -F ? Обратите внимание, что вы можете поместить less параметры в переменную $LESS env. Проверьте man less .

2. Вы имеете в виду использование -F в качестве флага для source или флага для less ? Я только что попробовал последнее; не повезло.

Ответ №1:

Исправлено! Это оказалось проблемой в логике моего скрипта. Я использовал condition=$(echo $result | cut -c 1-3) , но на самом деле мне нужны первые три символа (не столбцы) $result , которые я затем использовал $result | head -c 3 . Что интересно в этом, так это то, что выборка первых трех столбцов из $result того, что определено с помощью running ./bookmark.sh , эквивалентна выборке первых трех символов, но запуск псевдонима приводит к проблеме здесь.

Комментарии:

1. Пожалуйста, примите свой собственный ответ, чтобы этот вопрос не оставался открытым.

2. Мои извинения, я хотел сделать это раньше. Спасибо за удар.