diff --git a/termux-shared/src/main/java/com/termux/shared/shell/command/environment/UnixShellEnvironment.java b/termux-shared/src/main/java/com/termux/shared/shell/command/environment/UnixShellEnvironment.java index 376879fa..7f29a640 100644 --- a/termux-shared/src/main/java/com/termux/shared/shell/command/environment/UnixShellEnvironment.java +++ b/termux-shared/src/main/java/com/termux/shared/shell/command/environment/UnixShellEnvironment.java @@ -52,6 +52,9 @@ public abstract class UnixShellEnvironment implements IShellEnvironment { public static final String ENV_TMPDIR = "TMPDIR"; + /** Names for common/supported login shell binaries. */ + public static final String[] LOGIN_SHELL_BINARIES = new String[]{"login", "bash", "zsh", "fish", "sh"}; + @NonNull diff --git a/termux-shared/src/main/java/com/termux/shared/termux/shell/command/runner/terminal/TermuxSession.java b/termux-shared/src/main/java/com/termux/shared/termux/shell/command/runner/terminal/TermuxSession.java index c95de6ef..7aa874d1 100644 --- a/termux-shared/src/main/java/com/termux/shared/termux/shell/command/runner/terminal/TermuxSession.java +++ b/termux-shared/src/main/java/com/termux/shared/termux/shell/command/runner/terminal/TermuxSession.java @@ -93,7 +93,7 @@ public class TermuxSession { boolean isLoginShell = false; if (executionCommand.executable == null) { if (!executionCommand.isFailsafe) { - for (String shellBinary : new String[]{"login", "bash", "zsh"}) { + for (String shellBinary : UnixShellEnvironment.LOGIN_SHELL_BINARIES) { File shellFile = new File(defaultBinPath, shellBinary); if (shellFile.canExecute()) { executionCommand.executable = shellFile.getAbsolutePath();