一次性使用bashrc(即仅在用户创建时运行,而不再运行)

时间:2014-05-12 16:52:43

标签: bash ssh

简单的问题 - 我想在系统.bashrc中添加一些东西(在RHEL6环境中,如果这有所不同),然后在创建帐户时将其添加到每个用户的.bashrc中,但我只想让它运行用户第一次登录时再也不会登录。只是做一些sed管道以使.bashrc看起来如下所示是一个完全可怕的想法吗?

  1. 运行命令
  2. 删除第1行和第2行并覆盖自身。
  3. 如果这是一个很好的方法,将会很好奇听到其他选择。谢谢!

2 个答案:

答案 0 :(得分:2)

标准做法不是试图修改代码,而是创建一个文件来标记某些内容是否会运行:

if [[ ! -f ~/.first_run ]]
then
  echo "Welcome to $HOSTNAME!"
  touch ~/.first_run
fi

这种方法更简单,并允许您例如将所有默认.bashrc文件符号链接到相同的系统范围标准,并更稳健地确定用户在其他工具中的状态。

答案 1 :(得分:0)

基于Debian的发行版具有sysnews包,允许创建仅向用户显示一次的消息。它的工作方式是@thatotherguy在他的回答中描述的方式。我不确定基于RH的发行版的等效RPM是否存在,因此您可能需要从sources进行编译。