Clean up login shell environment variable earlier

Does not pollute the environment when executing commands.
This commit is contained in:
pagedown 2022-03-24 22:00:51 +08:00
parent 5c02c370d4
commit bc9d6892d4
No known key found for this signature in database
GPG Key ID: E921CF18AC8FF6EB
2 changed files with 4 additions and 6 deletions

View File

@ -178,12 +178,7 @@ prepare_for_exec() {
fi
[ -f "$HOME/.terminfo/kitty.terminfo" ] || die "Incomplete extraction of ssh data"
if [ -n "$KITTY_LOGIN_SHELL" ]; then
login_shell="$KITTY_LOGIN_SHELL"
unset KITTY_LOGIN_SHELL
else
using_getent || using_id || using_python || using_perl || using_passwd || using_shell_env || login_shell="sh"
fi
[ -n "$login_shell" ] || using_getent || using_id || using_python || using_perl || using_passwd || using_shell_env || login_shell="sh"
shell_name=$(command basename $login_shell)
[ -n "$login_cwd" ] && cd "$login_cwd"
}

View File

@ -71,6 +71,7 @@ EXPORT_HOME_CMD
[ -z "$USER" ] && USER="$(command whoami 2> /dev/null)"
leading_data=""
login_shell=""
login_cwd=""
request_data="REQUEST_DATA"
@ -100,6 +101,8 @@ untar_and_read_env() {
data_dir="$HOME/$KITTY_SSH_KITTEN_DATA_DIR"
shell_integration_dir="$data_dir/shell-integration"
unset KITTY_SSH_KITTEN_DATA_DIR
login_shell="$KITTY_LOGIN_SHELL"
unset KITTY_LOGIN_SHELL
login_cwd="$KITTY_LOGIN_CWD"
unset KITTY_LOGIN_CWD
compile_terminfo "$tdir/home"