I have a script named "als" that parses the aliases in a user's .bashrc
file that I'd like to run for any user logging in via SSH.
This should display similar to a Message of the day (MOTD) banner. MOTD banners are static data though.
Here's the code.
#!/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_^ __'
It works if I append ./als to my ~/.profile
file, but this only executes for me. Again, I'd like this to run for all users on shell login
You could save your script in /etc/profile.d/als.sh
. According to Ubuntu EnvironmentVariables manual:
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.
You should also modify relative path with absolute path:
cat /home/$USER/.bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'
And this should works for all users.
No comments:
Post a Comment