다른 매개변수를 사용하여 동일한 명령을 다시 실행하십시오.

다른 매개변수를 사용하여 동일한 명령을 다시 실행하십시오.

다음 명령을 실행할 수 있다는 것을 알고 있습니다.

ls Some{File,Folder}

다음을 실행하는 것과 동일합니다.

ls SomeFile SomeFolder

(저도 비슷한 용도로 자주 사용합니다 mv place_{a,b})

그러나 다음과 같은 작업을 수행하는 다른 바로 가기가 있는지 궁금합니다.

run-command --a --whole --lot --of --flags parameter a; \
     run-command --a --whole --lot --of --flags parameter b

run-command --a --whole --lot --of --flags parameter {a,b}입력 이나 그와 비슷한 것이 필요합니다 .

답변1

bashGNU 또는 이와 유사한 것을 사용한다고 가정합니다 .

아마도 for사이클일까요?

for x in a b
do
    run-command --a --whole --lot --of --flags parameter $x
done

한줄로 쓸 수도 있어요 for x in a b; do run-command --a --whole --lot --of --flags parameter $x ; done

답변2

스크립트를 작성하지 않고 명령줄에서 쉽게 실행하려는 경우 이 xargs명령이 적합할 수 있습니다.

xargs는 표준 입력에서 여러 가지 항목을 가져와서 필요한 경우 여러 번 실행할 수 있는 명령에 대한 인수로 사용합니다.

다음을 시도해 보십시오:

echo -n parameter a,parameter b | xargs -n 1 -d , run-command --a --whole --lot --of --flags

-n후행 개행 인쇄를 방지하기 위해 Echo에 플래그를 지정합니다(인수 전달 시 일부 명령에 문제 발생).

이 예에서는 실행하려는 순열을 xargs에 제공하기만 하면 됩니다.

-n 1플래그는 xargs가 실행당 하나의 인수만 사용하도록 지시합니다.

-d ,플래그는 xargs에게 실행될 인수 사이의 구분 기호로 입력에서 ","를 찾도록 지시합니다. (매개변수에 ","가 있으면 다른 것으로 변경해야 합니다. 매개변수에 공백이 없으면 이 플래그를 완전히 생략할 수 있습니다.)

자세한 내용은 을 참조하세요 man xargs.

답변3

마지막에 매개변수 변경을 제한하지 않는 함수를 사용할 수도 있습니다.

runcom() { run-command --a --whole --lot --of --flags parameter "$1" ; }

runcom a
runcom b

답변4

aliasBash에는 다음 명령이 있습니다.

$ alias shotcommand='run-command --a --whole --lot --of --flags parameter'

사용법은 다음과 같습니다:$ shotcommand a

관련 정보