¿Por qué el alias no funciona en AIX (Korn shell, .profile)?

¿Por qué el alias no funciona en AIX (Korn shell, .profile)?

Tengo estos archivos en mi directorio de inicio:

drwxr-xr-x    3 meuser staff           256 Oct 12 13:11 .
drwxr-xr-x  102 bin      bin            4096 Sep 30 12:28 ..
-rw-------    1 meuser staff          5349 Oct 11 20:44 .bash_history
-rwx------    1 meuser staff           466 Jun 26 22:12 .profile
-rw-------    1 meuser staff          7074 Oct 12 13:11 .sh_history
drwx------    2 meuser staff           256 Aug 16 15:28 .ssh

Mi shell predeterminado es el shell Korn. Cuando intenté poner un alias .profileasí:

alias l='ls -lrt'

e intenté ejecutarlo después de volver a iniciar sesión:

$ l
ksh: l:  not found.

¿Cómo hacer que este alias funcione?

Respuesta1

.profilesolo se lee al iniciar sesión. Las modificaciones posteriores no afectan el entorno actual. Tienes que recargar .profilemediante:

  • obtención del archivo: . .profile(afecta laactualcáscara, notodoconchas)
  • su -l <user>(nuevo inicio de sesión)
  • cerrar sesión + iniciar sesión

Respuesta2

Funciona.

La única diferencia que puedo ver con mi propio .profile son las comillas dobles:

alias l="ls -l"

Esa línea me funciona en AIX con ksh como shell.

En cuanto a la desconexión y reconexión... ¿estás seguro de que el shell predeterminado es ksh? Verifique su usuario en /etc/passwd.

Respuesta3

No es .profilesu archivo de configuración de Shell, es su sesión de inicio de sesión.archivo de configuración. Solo lo lee el shell iniciado al iniciar sesión, no otros shells interactivos iniciados dentro de su sesión de inicio de sesión.

kshno tiene un archivo de personalización dedicado per se, pero trata la $ENVvariable como una ruta a un archivo de personalización para sesiones de shell interactivas.

Entonces agregarías algo como:

ENV="$HOME/.kshrc" export ENV

a tu ~/.profiley:

alias 'l=ls -lrt'

para usted ~/.kshrc.

El cambio sólo entrará en vigor en el siguiente inicio de sesión.

Respuesta4

Los alias funcionan en AIX con Korn Shell.

Pon algunos comandos al final de tu /etc/profileme gusta:

export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"

Si desea que estas variables se establezcan dentro de su entorno, inicie:

. /etc/profile

información relacionada