별칭에 인수를 전달한 다음 소유하지 않음

별칭에 인수를 전달한 다음 소유하지 않음

간단한 별칭을 만들려고 합니다.

alias draw="pinta &> /dev/null & disown"

여기의 의도는 매우 분명합니다. 내 문제는 내가 논쟁을 통과할 때마다

bash: disown: file.jpg: no such job

파일이 로드되지 않은 상태에서 pinta가 열립니다. 내 주장을 pinta에 전달한 다음 작업을 거부하려면 어떻게 해야 합니까?

편집하다:

다음과 같이 인수를 명시적으로 전달해 보았습니다.

alias draw="pinta $* &> /dev/null & disown"

하지만 나는 같은 결과를 얻습니다

답변1

대신 함수를 사용하세요:

function draw {
    pinta "$@" &> /dev/null & disown
}

보너스:"$@"대신 사용해야 합니다 $*.

다음이 있다고 가정합니다.

function foo {
    echo "1: $1"
    echo "2: $2"
    echo "3: $3"
}

function bar {
    echo '$*'; foo $*
    echo '$@'; foo $@
    echo '"$*"'; foo "$*"
    echo '"$@"'; foo "$@"
}

그런 다음 다음을 시도하십시오.

bar "f o o" bar baz

오직 당신만이 "$@"올바른 행동을 취할 수 있습니다.

관련 정보