Por que o alias não funciona no AIX (shell Korn, .profile)?

1

Eu tenho esses arquivos no meu diretório pessoal:

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

Meu shell padrão é o shell Korn. Quando tentei colocar um alias em .profile assim:

alias l='ls -lrt'

e tentou executá-lo depois do relogin:

$ l
ksh: l:  not found.

Como fazer esse alias funcionar?

    
por jrara 12.10.2013 / 12:15

4 respostas

2

Funciona.

A única diferença que posso ver com o meu próprio .profile são as aspas duplas:

alias l="ls -l"

Essa linha funciona para mim no AIX com o ksh como shell.

Sobre a desconexão e a reconexão ... você tem certeza que o shell padrão é ksh? Verifique seu usuário em / etc / passwd.

    
por 03.09.2014 / 17:15
1

.profile é lido apenas no login. Modificações posteriores não afetam o ambiente atual. Você precisa recarregar .profile por meio de:

  • sourcing the file: . .profile (afeta o shell atual , não todos shells)
  • su -l <user> (novo login)
  • logout + login
por 12.10.2013 / 13:29
1

O .profile não é o seu arquivo de configuração do shell, é o seu arquivo de configurações de sessão de login . Ele é lido apenas pelo shell iniciado no login, e não por outros shells interativos iniciados em sua sessão de login.

ksh não possui nenhum arquivo de personalização dedicado, mas trata a variável $ENV como um caminho para um arquivo de personalização para sessões de shell interativas.

Então você adicionaria algo como:

ENV="$HOME/.kshrc" export ENV

para o seu ~/.profile e:

alias 'l=ls -lrt'

para o seu ~/.kshrc .

A alteração só terá efeito no próximo login.

    
por 25.01.2016 / 17:40
0

Os aliases funcionam no AIX com o Korn Shell.

Coloque alguns comandos no final do seu /etc/profile como:

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

Se você quiser que essas variáveis sejam definidas em seu ambiente, inicie:

. /etc/profile
    
por 17.02.2017 / 16:34