Intereting Posts
Существует ли самый быстрый способ отключения системы? Какова цель выполнения квадратных скобок Почему состояние TCP TIME-WAIT присутствует на обоих концах после завершения соединения? Чтение значений массива в качестве пользовательского ввода дает неправильную длину массива и только -a или -p работает при чтении Нормально ли для интегрированной видеокарты Intel иметь такие низкие частоты? Создание / dev / net / tun доступно для qemu? Точка монтирования для нескольких наборов данных ZFS rootfs (в Arch Linux с sd-zfs) Контекст соответствующего регулярного выражения Приложения для запуска KDE по сравнению с xrdp Существует ли специальная переменная, содержащая совпадение case Как изменить интерпретацию переменной в `zsh`? Проблемы с установкой программного обеспечения с помощью apt-get Лучший способ попасть в программирование ядра? утилита для просмотра виртуального оборудования qemu Установить Arch (Bang) – Создать Usb – Uefi

Псевдоним для скрипта perl

Пока я занимаюсь серфингом в Интернете, я обнаружил отличное дополнение к генератору паролей gpg, и я решил настроить свой псевдоним с этими командами. Вот код

gpg --gen-random 1 20 | perl -ne'print "Your password: ";s/[\x00-\x20]/chr(ord($^N)+50)/ge;s/([\x7E-\xDB])/chr(ord($^N)-93)/ge;s/([\xDC-\xFF])/chr(ord($^N)-129)/ge;print $_, "\n"' 

Вот что я пробовал до сих пор:

 alias genpass() { gpg --gen-random 1 $1 | perl -ne' print "Your password: "; s/[\x00-\x20]/chr(ord($^N)+50)/ge; s/([\x7E-\xDB])/chr(ord($^N)-93)/ge; s/([\xDC-\xFF])/chr(ord($^N)-129)/ge; print $_, "\n"' } 

но возникает ошибка при появлении нового экземпляра bash:

 bash: /home/user/.bashrc: line 18: syntax error near unexpected token `(' bash: /home/user/.bashrc: line 18: `alias genpass()' 

Я совершенно новичок в создании сценариев bash, поэтому не могу понять, как этот токен должен быть правильно экранирован.

У вас есть утверждение псевдонима, когда оно вам не нужно, то, что вы на самом деле создаете, является функцией, заменяет псевдоним слова функцией, и он будет работать, как ожидалось.

Вам также на самом деле не нужна функция, вы можете просто иметь следующее, и оно будет работать, как ожидалось;

 genpass() { gpg --gen-random 1 $1 | perl -ne' print "Your password: "; s/[\x00-\x20]/chr(ord($^N)+50)/ge; s/([\x7E-\xDB])/chr(ord($^N)-93)/ge; s/([\xDC-\xFF])/chr(ord($^N)-129)/ge; print $_, "\n"' }