Execute o script no login do shell para todos os usuários

4

Eu tenho um script chamado "als" que analisa os aliases no arquivo .bashrc do usuário que gostaria de executar para qualquer usuário que fizer login via SSH.

Isso deve ser exibido como um banner da Mensagem do dia (MOTD). Os banners do MOTD são dados estáticos.

Aqui está o código.

#!/bin/bash
echo
echo Your aliases:
echo \(from ~/.bashrc\)
echo
cat .bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'

Funciona se eu acrescentar ./als ao meu arquivo ~/.profile , mas isso só é executado por mim. Novamente, gostaria que isso fosse executado para todos os usuários no login do shell

    
por user38537 11.11.2014 / 00:41

1 resposta

7

Você pode salvar seu script em /etc/profile.d/als.sh . De acordo com o manual do Ubuntu EnvironmentVariables :

Files with the .sh extension in the /etc/profile.d directory get executed whenever a bash login shell is entered (e.g. when logging in from the console or over ssh), as well as by the DisplayManager when the desktop session loads.

Você também deve modificar o caminho relativo com o caminho absoluto:

 cat /home/$USER/.bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'  

E isso deve funcionar para todos os usuários.

    
por Lety 11.11.2014 / 00:55