zsh :отключить подстановку для определенных команд или шаблонов?

Вы можете использовать zypper для поиска шаблонов гномов и их удаления, например:

sudo zypper -n rm patterns-openSUSE-gnome gnome-*
1
18.04.2020, 18:18
1 ответ

Если поставитьnoglobперед командой, подстановка не выполняется.

noglob youtube-dl https://www.youtube.com/watch?v=QIysdjpiLcA

Чтобы отключить подстановку для конкретной команды,сделать его псевдонимом.

alias youtube-dl='noglob youtube-dl'

С URL-адресами это помогает ?, но не &. Нет никакого способа отключить интерпретацию &, кроме цитирования.

Если у вас есть URL-адрес в буфере обмена, вместо того, чтобы вставлять его, вы можете использовать команду для вызова содержимого буфера обмена:

youtube-dl "`xsel`"         # X11 automatic mouse selection
youtube-dl "`xclip -o`"     # X11 automatic mouse selection
youtube-dl "`xsel -b`"      # X11 explicitly copied clipboard
youtube-dl "`xclip -o -sc`" # X11 explicitly copied clipboard
youtube-dl "`pbpaste`"      # macOS clipboard

Вы будете иметь команду вставки в истории вашей оболочки, а не URL. Если вы нажмете Tab в конце командной строки до окончания команды, подстановка команды будет расширена до URL-адреса. (Требуемый ключ может отличаться в зависимости от ваших настроек завершения; см. также Как расширить все переменные в командной строке Zsh? и Оболочка, что вкладка -завершает префикс? .)

В качестве альтернативы, если ваш терминал поддерживает вставку в квадратных скобках(хорошие современные терминалы поддерживают ), нажмите Ctrl + U(или что-нибудь еще, что устанавливает числовой аргумент )перед вставкой. URL-адрес (или то, что вы вставите ), будет заключено в кавычки. Обратите внимание, что это включает начальный и конечный пробелы, которые браузеры будут игнорировать.

3
19.03.2021, 02:27

Теги

Похожие вопросы