질문
--
편의를 위해 별칭을 지정한 명령이 있는데, 명령을 호출한 후 몇 가지 추가 매개 변수를 지정하는 데 귀찮게 사용해야 합니다.
다음 예에서는 명령이 호출 foo
되고 별칭이 호출됩니다 run
.
alias run=foo --bar --baz
bar
및 baz
항상 존재하는 매개변수이므로 별명에 있습니다. 이제 최소한 필요한 명령을 호출하고 싶습니다.필수 매개변수그 다음에는 실행 옵션 ender 에 대한 추가 매개변수가 옵니다 --
.
구체적으로 호출할 때 run
다음과 같이 호출합니다.
run file1 -- option1 option2
이는 작동하며 옵션 1과 2가 예상대로 통과됩니다.
내가 원하는 것
내가 원하는 것은 별칭이 있고 다음 명령을 실행하고 run file1 option1 option2
별칭 핸들이 인수 --
앞이나 뒤에(별칭에서) 위치를 지정하도록 하는 것입니다.
잠재적인 답변
내가 여기서 고민하고 있는 것은 관련되지 않은 해결책을 찾는 것입니다.또한많은 논리. 이상적으로는 인수1에 액세스한 다음 인수1+에 액세스하는 것과 같은 것을 원 xargs
하지만 그것이 목적은 아닌 것 같습니다. 나도 할 수 있는 일이 몇 가지 있습니다 cut
(둘 다 cut -d' ' -p1
작동 cut -d' ' -f2-
하지만 이 문자열 자르기가 최선의 해결책이 아닐 수도 있습니다).
나는 여기서 우아한 해결책에 귀를 기울이고 있습니다.
답변1
IMHO 별칭 대신 쉘 함수를 사용하는 것이 더 똑똑할 것입니다.
run() {
file="$1"
shift
foo --bar --baz "$file" -- "$@"
}