#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. Мои извинения, я хотел сделать это раньше. Спасибо за удар.