응답 이 질문에 나는에 행동 사이에 매우 재미 (미묘한) 차이를 발견 bash
하고를 zsh
:
에서 bash
:
romano@RRyS:~$ pwd
/home/romano
romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &"
romano@RRyS:~$ x
[1] 16611
romano@RRyS:~$ pwd
/home/romano
보시다시피, 별칭 실행은 x
서브 쉘에서 수행되므로 현재 디렉토리는 변경되지 않습니다.
에 없음 zsh
:
[romano:~] % pwd
/home/romano
[romano:~] % alias x="cd /bin && ./echo A >/dev/null &"
[romano:~] % x
[1] 16744
[1] + 16744 done ./echo A >/dev/null
1& [romano:/bin] % pwd
/bin
[romano:/bin] %
여기서 디렉토리가 변경되었습니다.
그것은 보인다 &
에서가 bash
보다 다른 우선 순위를 가지고 zsh
내 말은 ---를, 명령과 같이 할 것
(cd /tmp && echo A) &
에서 bash
와 같은
cd /tmp && (echo A &)
에서 zsh
. 이것이 맞습니까? 아니면 다른 행동의 원인이 다른 것입니까?