Fall back to use POSIX SHELL environment variable
This commit is contained in:
parent
7160027c14
commit
91a17e3f0c
@ -21,7 +21,7 @@ data_dir = shell_integration_dir = ''
|
|||||||
request_data = int('REQUEST_DATA')
|
request_data = int('REQUEST_DATA')
|
||||||
leading_data = b''
|
leading_data = b''
|
||||||
HOME = os.path.expanduser('~')
|
HOME = os.path.expanduser('~')
|
||||||
login_shell = pwd.getpwuid(os.geteuid()).pw_shell or 'sh'
|
login_shell = pwd.getpwuid(os.geteuid()).pw_shell or os.environ.get('SHELL') or 'sh'
|
||||||
|
|
||||||
|
|
||||||
def set_echo(fd, on=False):
|
def set_echo(fd, on=False):
|
||||||
|
|||||||
@ -232,6 +232,10 @@ using_passwd() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using_shell_env() {
|
||||||
|
[ -n "$SHELL" ] && login_shell="$SHELL" && login_shell_is_ok
|
||||||
|
}
|
||||||
|
|
||||||
execute_with_python() {
|
execute_with_python() {
|
||||||
if detect_python; then
|
if detect_python; then
|
||||||
exec "$python" "-c" "import os; os.execlp('$login_shell', '-' '$shell_name')"
|
exec "$python" "-c" "import os; os.execlp('$login_shell', '-' '$shell_name')"
|
||||||
@ -250,7 +254,7 @@ if [ -n "$KITTY_LOGIN_SHELL" ]; then
|
|||||||
login_shell="$KITTY_LOGIN_SHELL"
|
login_shell="$KITTY_LOGIN_SHELL"
|
||||||
unset KITTY_LOGIN_SHELL
|
unset KITTY_LOGIN_SHELL
|
||||||
else
|
else
|
||||||
using_getent || using_id || using_python || using_perl || using_passwd || die "Could not detect login shell"
|
using_getent || using_id || using_python || using_perl || using_passwd || using_shell_env || login_shell="sh"
|
||||||
fi
|
fi
|
||||||
shell_name=$(command basename $login_shell)
|
shell_name=$(command basename $login_shell)
|
||||||
[ -n "$login_cwd" ] && cd "$login_cwd"
|
[ -n "$login_cwd" ] && cd "$login_cwd"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user