간단한 별칭을 만들려고 합니다.
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
오직 당신만이 "$@"
올바른 행동을 취할 수 있습니다.