Как повторять переменные дважды в xargs

Как я могу сделать второе эхо-эхо-тест в этом примере:

echo test | xargs -I {} echo {} && echo {} 

  • цикл xargs с переменной ввода для использования в команде с несколькими командами
  • Как получить код выхода параллельного процесса, запущенного xargs?
  • Получите дополнение к результату команды ls
  • Unix: вопрос о xargs
  • Ни для чего ничего не нужно для xargs
  • Почему xargs заставляет apt-get прерываться?
  • Удаление некоторых из самых больших файлов в каталоге
  • создать хеш md5 из рекурсивного списка файлов, когда некоторые пути имеют пробелы
  • One Solution collect form web for “Как повторять переменные дважды в xargs”

    Просто напишите {} два раза в вашей команде. Было бы выполнено следующее:

     $ echo test | xargs -I {} echo {} {} test test 

    Ваша проблема в том, как команды вложены . Давайте посмотрим на это:

     echo test | xargs -I {} echo {} && echo {} 

    bash выполнит echo test | xargs -I {} echo {} echo test | xargs -I {} echo {} . Если он успешно, он выполнит echo {} . Чтобы этого избежать, вы можете сделать что-то вроде этого:

     echo test | xargs -I {} bash -c "echo {} && echo {}" 

    Однако вы можете xargs с кавычками во вводе xargs если используете этот подход.

    Linux и Unix - лучшая ОС в мире.