macos - instalar - No se puede actualizar mi Bash en Mac con MacPorts
install brew mac osx (3)
Actualicé mi Bash sin éxito a 3.2.48 por MacPorts.
Parece que no lo tengo activo, ya que consigo
echo $BASH_VERSION
3.2.17(1)-release
¿Cómo se puede activar el nuevo Bash activo de modo que lo obtenga para mi shell de inicio de sesión?
Ejecute el siguiente código, por ejemplo, para cambiar su caparazón al último Bash instalado por MacPorts
chsh -s /opt/local/bin/bash
Si eso te da el mensaje,
"
non-standard shell
"
deberás agregar
/opt/local/bin/bash
a
/etc/shells
Tenga en cuenta que /etc/shells
es solo un archivo de texto, por lo que puede editarlo directamente si se autentica como root. Puedes cambiarlo programáticamente por el comando
sudo -s
Password:
# echo /opt/local/bin/bash >> /etc/shells
Si su primer comando chsh falló, ejecútelo nuevamente si logró cambiar el archivo anterior.
Puede cambiar su shell de inicio de sesión, desde su shell de inicio de sesión de Mac OS X existente (de forma predeterminada su /bin/bash
incluido en Mac OS X), a MacPorts /opt/local/bin/bash
utilizando el siguiente script de shell:
#!/opt/local/bin/bash
if [ `grep /opt/local/bin/bash /etc/shells` ];
then
echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash;
else
echo /opt/local/bin/bash | sudo tee -a /etc/shells;
chsh -s /opt/local/bin/bash;
fi
Supongo que está instalado pero no se usa como shell de inicio de sesión.
Puede cambiar el shell usando dscl en la línea de comando.
En el indicador dscl escriba lo siguiente:
list Local/Default/Users
read Local/Default/Users/<your username here>
change Local/Default/Users/<your username here> UserShell /bin/bash /opt/local/bin/bash
Tengo otro ejemplo de uso de dscl en mi blog si ayuda.