Ce n'est pas que je conseille de le faire.
(sirius)~: zsh -c 'print hello; zsh -i'
hello
(sirius)~: echo $SHLVL
2
Il existe d'autres astuces avec l'écran et l'utilisation de la fonction $STY
variable.
Si vous voulez que zsh exécute quelque chose avec des écrans individuels, vous pouvez vérifier la variable $STY dans votre .zshrc ou .zlogin. Elle se présente sous la forme suivante <PID>.<TTY>.<HOSTNAME>
.
if [[ -n $STY ]] then
if [[ -f ~/.zsh-$STY[(ws:.:)2] ]] then
. ~/.zsh-$STY[(ws:.:)2]
fi
fi
Si dans l'écran, et si ~/.zsh-<TTY>
(de la variable $STY) existe, sourcez-la, puis continuez votre chemin. Vous pouvez également définir une variable d'environnement avant d'appeler le Shell interactif.
> FOO=bar zsh -i
> env | grep FOO
FOO=bar
> RUNTHISCOMMAND=/path/to/script zsh -i
.zshrc:
if [[ -n $RUNTHISCOMMAND ]] then
$RUNTHISCOMMAND
fi
Ajoutez ces vérifications dans votre fichier .zshrc/.zlogin.