использование для эха без аргументов в сценариях оболочки

У меня есть следующий сценарий bash, с которым я столкнулся в Интернете, который печатает набор мощности для определенных строк элементов.

p() { [ $# -eq 0 ] && echo || (shift; p "$@") | while read r ; do echo -e "$1 $r\n$r"; done } 

после первого && есть echo которое не имеет никаких аргументов.

Вот код для его проверки:

 p $(echo -e "1\n2\n3") 

One Solution collect form web for “использование для эха без аргументов в сценариях оболочки”

Он предназначен для форматирования.

 $ p() { [ $# -eq 0 ] && echo || (shift; p "$@") | > while read r ; do echo -e "$1 $r\n$r"; done } $ p $(echo -e "1\n2\n3") 1 2 3 2 3 1 3 3 1 2 2 1 $ p $ 

Обратите внимание на пустую строку между одним p и следующей подсказкой. Это echo .

Здесь это с большей удобочитаемостью:

 p() { if [ $# -eq 0 ]; then echo else (shift; p "$@") | while read r; do echo -e "$1 $r\n$r"; done fi } 

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

  • встроенный возврат
  • Заказ исполняемых файлов стартовал в bash
  • Почему руководство для команды «где» недоступно
  • В bash, как я могу удалить псевдоним без выхода из системы?
  • Пример использования / практический пример для встроенного exec Bash
  • Выход трубы Bash на большее количество
  • Как читать страницу руководства для встроенного bash?
  • Эффективная генерация stdin в сценарии оболочки
  • Команда Whatis (встроенная оболочка для исполняемых программ)
  • bash эквивалент этого использования команды tcsh «sched»?
  • Что означает «хэширование» при использовании команды типа?
  • Почему встроенные времена не работают в трубопроводе?
  • Linux и Unix - лучшая ОС в мире.