Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Potential compatibility issue: Removing explicit `-s /bin/sh` from su command may break for users with non-POSIX login shells

Abierto Apto para principiantes
#129 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@gvatsal60 ya está trabajando en esto.

Desde el 3/10/2026.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
shell

Línea de trabajo

Localiza la variable _brew_cmds y la invocación de su en el script actual y compáralas con el cambio tratado en PR #128. Verifica la ruta del comando con un shell de inicio de sesión no POSIX y con un shell POSIX; se considera terminado cuando el comando de abandono de privilegios ejecuta explícitamente y de forma fiable la sintaxis del shell POSIX para ambas configuraciones de usuario.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Issue Description

In PR #128, the su command used to drop privileges for running Homebrew commands was simplified by removing the explicit shell specification (-s /bin/sh). This change may break compatibility for users with non-POSIX login shells (e.g., fish, nushell, csh, tcsh).

Technical Details

The _brew_cmds variable contains POSIX shell syntax including:

  • eval
  • $() command substitution
  • && logical AND
  • printf with format strings

When su - ${NON_ROOT_USER} -c ${_brew_cmds} is used without -s /bin/sh, it invokes the user's login shell. If that shell is non-POSIX (like fish or nushell), the POSIX syntax in _brew_cmds will fail.

Original Code (with explicit shell)

su - ${NON_ROOT_USER} -s /bin/sh -c ${_brew_cmds}

Current Code (without explicit shell)

su - ${NON_ROOT_USER} -c ${_brew_cmds}

Recommended Fix

Restore -s /bin/sh to guarantee POSIX compliance, or use sh -c explicitly.

Context

This was flagged in the code review for PR #128 by the Kilo Code bot. The review comment can be found at: https://github.com/gvatsal60/Linux-All-In-One-Update-Script/pull/128#discussion_r4118722195

Labels: bug, compatibility, shell


PR Signature to include in the PR description:
If you create a pull request or merge request, include the following signature at the end of the PR/MR description:

Built for gvatsal60 by Kilo

Lenguaje dominante
Shell
Estrellas
6
Forks
1
Merge medio
1 h 16 min
PR fusionados (30 d)
18

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de gvatsal60/Linux-All-In-One-Update-Script

Todos los issues de gvatsal60/Linux-All-In-One-Update-Script

Issues similares

Más issues de Shell/Bash

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.