use*_*537 5 server ssh command-line bash 14.04
我有一个名为“als”的脚本,用于解析用户.bashrc文件中的别名,我想为通过 SSH 登录的任何用户运行该文件。
这应该显示类似于每日消息 (MOTD) 横幅。不过,MOTD 横幅是静态数据。
这是代码。
#!/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_^ __'
Run Code Online (Sandbox Code Playgroud)
如果我将 ./als 附加到我的~/.profile文件中,它会起作用,但这仅对我执行。同样,我希望在 shell 登录时为所有用户运行
您可以将脚本保存在/etc/profile.d/als.sh. 根据 Ubuntu EnvironmentVariables手册:
每当进入 bash 登录 shell 时(例如从控制台或通过 ssh 登录时),就会执行 /etc/profile.d 目录中带有 .sh 扩展名的文件,并且在桌面会话加载时由 DisplayManager 执行。
您还应该使用绝对路径修改相对路径:
cat /home/$USER/.bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'
Run Code Online (Sandbox Code Playgroud)
这应该适用于所有用户。
| 归档时间: |
|
| 查看次数: |
9612 次 |
| 最近记录: |