답변:
나는 이것을하는 것이 좋습니다.
(sirius)~: zsh -c 'print hello; zsh -i'
hello
(sirius)~: echo $SHLVL
2
화면과 $STY
변수를 사용하여 재생할 수있는 다른 트릭이 있습니다 .
개별 화면이있는 zsh에서 무언가를 실행하려면 .zshrc 또는 .zlogin 내에서 $ STY 변수를 확인할 수 있습니다. 형식 <PID>.<TTY>.<HOSTNAME>
입니다.
if [[ -n $STY ]] then
if [[ -f ~/.zsh-$STY[(ws:.:)2] ]] then
. ~/.zsh-$STY[(ws:.:)2]
fi
fi
화면에 있고 ~/.zsh-<TTY>
($ STY 변수에서) 존재하는 경우 소스를 지정한 다음 계속 진행하십시오. 대화식 쉘을 호출하기 전에 환경 변수를 설정할 수도 있습니다.
> FOO=bar zsh -i
> env | grep FOO
FOO=bar
> RUNTHISCOMMAND=/path/to/script zsh -i
.zshrc:
if [[ -n $RUNTHISCOMMAND ]] then
$RUNTHISCOMMAND
fi
해당 검사를 .zshrc / .zlogin에 추가하십시오.
; exec zsh
명령 에 추가 하는 것은 어떻습니까? 그렇게하면 끝에 하나의 껍질 만 남게됩니다.
; zsh -i
이미 그렇게합니다.