Pregunta

Esto ha sido frustrante para mí dos días y parece que no debe ser una cosa muy simple.Me acaba de crear una cuenta en un equipo Solaris.Sol OS 5.10 creo.

El valor predeterminado es el Bourne shell que no quiero.Hice un cat /etc/shells que se traduce en:

/bin/sh
/sbin/sh
/bin/ksh
/usr/bin/ksh

Parece shell Korn es todo lo que puedo usar.

He creado un .profile archivo y escribió:

export SHELL=/usr/bin/ksh

Entonces hice un env y parece que /bin/sh es todavía como mi concha.He iniciado, ingresado de nuevo y ahora me sale:

-sh: SHELL=/usr/bin/ksh: is not an identifier

He intentado añadir #!/usr/bin/ksh en el comienzo de la .profile.Que no funciona.He intentado añadir un punto y coma al final de la export.Que no funciona.He intentado: SHELL=/bin/ksh y que no funciona tampoco.

Mi objetivo final es conseguir que este entorno a un punto en que puede operar de manera productiva.Estoy acostumbrado a BASH donde he ficha-sugerencias, flecha hacia arriba para la historia, etc, y este Bourne shell no tiene nada de eso y me resulta frustrante para ningún fin.

Sé que esto debe ser simple, pero todos mis Googlear viene en vano.Alguien me puede ayudar?

¿Fue útil?

Solución

/etc/shells no es un estándar de Solaris archivo, probablemente no debería depender de su contenido.

Por otro lado, bash es parte de la predeterminada de instalación de Solaris 10.Ya debería estar presente como /bin/bash (/usr/bin/bash pero en realidad /bin es un enlace simbólico a /usr/bin de todos modos).

Si bash no está allí, es posible que desee pedir al administrador para instalar el SUNWbash paquete de la Solaris_10/Product directorio de los medios de instalación.

Entonces, para actualizar su consola, la forma habitual es tener la shell se define por su cuenta actualizada.Si es local, que es el último campo en su /etc/passwd de entrada.

Alternativamente, usted podría usar ese hack al final de su .perfil:

[ ! "$BASH_VERSION" -a -x /bin/bash ] && SHELL=/bin/bash exec /bin/bash 

Otros consejos

En orden descendente de preferencia

  1. pregunte al administrador del sistema para instalar bash y actualizar /etc/shells y actualización de su shell de inicio de sesión
  2. a ver si la chsh el programa está instalado y que le permitirá cambiar su shell de inicio de sesión
  3. pregunte al administrador del sistema para cambiar su shell de inicio de sesión a /usr/bin/ksh
  4. modificar su ~/.perfil:

    if type [[ >/dev/null; then
        : # this is ksh
    else
        # not ksh
        export SHELL; SHELL=/usr/bin/ksh
        exec $SHELL
    fi
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top