0 votos

Cómo hacer `sudo su` ejecutar secuencias de comandos de inicio?

Supuestamente el bin/sh shell que es el valor predeterminado shell de root no es estrictamente un "bash shell, pero es un POSIX equivalente. De acuerdo a este sitio, al invocar el shell ejecutable de un "POSIX" shell se ejecuta cualquiera de los "archivos de perfil" que aparece aquí:

$HOME/.bash_profile
$HOME/.bash_login
$HOME/profile.ksh       ($HOME/.profile on UNIX systems)
$HOME/.profile

He intentado ponerlos todos en /var/root y ninguno de ellos se ejecutará cuando ejecuto sudo su de mi terminal.

Ejecución sudo bash obras, por el camino. Pero, ¿por qué no sudo su?

1voto

Jose Chavez Puntos 645

Su información es incorrecta. /bin/sh en macOS es en realidad una verdadera shell bash. El manual ha encontrado es para un programa de Windows que "imita" un entorno Linux en Windows. No tiene nada que ver con macOS.

Los archivos de perfil para bash son:

  • /etc/profile
  • ~/.bash_profile
  • ~/.bash_login
  • ~/.perfil

Tenga en cuenta que ~ y $HOME son la misma cosa. Ambos significan que se refiere a la carpeta principal del usuario.

El problema que estamos viendo es porque estás usando el comando sudo su. Esto significa que puede utilizar sudo para iniciar su con el fin de obtener un sistema interactivo de no-shell de inicio de sesión. Esto significa que los archivos de perfil no se ejecutan - en lugar de sólo .bashrc es ejecutado.

Lo que queremos es realmente un shell de inicio de sesión, lo que significa que el perfil de los archivos que se ejecutan. Puede hacerlo mediante el comando sudo su - lugar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: