2
Я noticed that с в Perl print
, вы можете печатать из строки или из STDIN
. У меня есть простая функция, которая может работать из строкиФункция чтения аргумент или STDIN
warn()
{
awk '{printf "\033[36m%s\033[m\n", $0}' <<< $1
}
или из STDIN
warn()
{
awk '{printf "\033[36m%s\033[m\n", $0}'
}
Однако я могу изменить функцию таким образом, чтобы он мог принимать либо как Perl?
Я нашел, что мне нужно было обернуть это с помощью 'exec 3 <& 0 [...] exec <& 3' –
Вам не нужно, что' (...) 'выполняет код в подоболочке, так что перенаправления автоматически отменяются. – Barmar
Если вся функция работает в подоболочке, вы можете удалить фигурные скобки - 'warn() (...)' - см. [Группировка команд] (http://www.gnu.org/software/bash/manual /bashref.html#Command-Grouping) в руководстве –