Не удалось задать псевдоним для копирования текущего пути из оболочки в буфер обмена

Это escape-коды ANSI, но вы сталкиваетесь с тремя проблемами:

  • кодировка символов, как вы подозреваете — большинство этих файлов в CP437, поэтому вам нужно их конвертировать:

    iconv -f CP437
    

    (используйте опцию -t, если вам нужно указать целевую кодировку; по умолчанию iconvбудет соответствовать кодировке символов текущей локали );

  • цветовая схема — эти файлы обычно предполагают что-то похожее на цветовую схему CGA/EGA/VGA, используемую на ПК; эмуляторы терминала обычно позволяют вам выбрать цветовую схему (или переопределить цвета вручную ), например, GNOME Terminal имеет встроенную «консоль Linux» -в схеме, которая хорошо работает для ANSI-арта;

  • размер экрана — в большинстве рисунков ANSI предполагается ширина экрана в 80 столбцов, и предполагается, что они охватывают этот размер.

Как только вы все это исправите, вам не понадобится специальный просмотрщик; вот скриншот, показывающий вывод aa-neurodancer.ansв терминале GNOME после преобразования кодировки символов:

ANSI art showing a human head with spectacles

В нижней части снимка экрана показана запись файла SAUCE :

.

  • СОУС версия 00
  • название :«Нейродансер»
  • автор :«Мерцающий атеист»
  • дата :13 августа 2018 г.
  • размер файла :0x1A65, 6757 байт
  • тип данных :символ
  • тип файла :ANSi
  • ширина :80
  • высота :23
  • шрифт :IBM VGA

(Ansilove может расшифровать для вас записи SAUCE.)

0
07.01.2021, 04:03
1 ответ

Переменные в двойных кавычках раскрываются сразу, поэтому нужно заключать в одинарные кавычки команду (или хотя бы часть с переменной):

$ alias cc='echo "$PWD"'
$ cd "$(mktemp --directory)"
$ cc
/tmp/tmp.9OuF0ZAE1b

В любом случае использование функции вместо позволяет избежать таких проблем.

3
18.03.2021, 22:37

Теги

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