/ / Как мога да направя всеки ред от командата аргумент на друга команда? [дубликат] - linux, bash

Как мога да направя всеки ред от командата аргумент на друга команда? [дубликат] - linux, bash

В моя случай искам да пусна Eslint във всички файлове с Git поетапно.

git diff --diff-filter=d --cached --name-only | grep -E ".jsx?$ изходи:

changedFile1.js
changedFile2.js

Искам да ги предам на Еслинт, за да генерира командата:

node_modules/.bin/eslint changedFile1.js changedFile2.js

Как да направя това?

Досега единственото решение, което намерих, е да претърсвам променените файлове и след това да се обадя на Eslint за всеки променен файл, но това е много по-бавно, отколкото да се обадите на Eslint веднъж с всички променени файлове.

Използвам Ubuntu 16.04.

Отговори:

0 за отговор № 1

Изходът на команда може да бъде присвоен на променлива или на други програми като параметър с $(...) като този:

node_modules/.bin/eslint $(git diff --diff-filter=d --cached --name-only | grep -E ".jsx?$)

Командата grep ми се струва, сякаш липсва апостроф за затваряне, така че ако това беше грешката ви в въпроса, трябва да го отстраните и в отговора.