Bash 在linux vps上为特定用户启动时运行脚本

Bash 在linux vps上为特定用户启动时运行脚本,bash,Bash,如何在每次启动时运行脚本,但针对特定用户?比如说,我想在启动时为用户(bob)运行一个脚本,为用户(rick)运行一个不同的脚本,或者根本不运行脚本。注意:在linux vps上,当bash启动时,它将为所有用户运行/etc/bashrc脚本,然后为特定用户运行~/.bashrc脚本。这里~代表用户的主目录 如果您需要为少数用户提供不同的服务,那么使用第二个脚本(如果您拥有这些帐户)会更容易。如果您希望从中心点运行某些服务,那么第一个脚本会更好 对于第一种方法,您可以使用变量$USER使用if或

如何在每次启动时运行脚本,但针对特定用户?比如说,我想在启动时为用户(bob)运行一个脚本,为用户(rick)运行一个不同的脚本,或者根本不运行脚本。注意:在linux vps上,当
bash
启动时,它将为所有用户运行
/etc/bashrc
脚本,然后为特定用户运行
~/.bashrc
脚本。这里
~
代表用户的主目录

如果您需要为少数用户提供不同的服务,那么使用第二个脚本(如果您拥有这些帐户)会更容易。如果您希望从中心点运行某些服务,那么第一个脚本会更好

对于第一种方法,您可以使用变量
$USER
使用
if
case
子句将一个用户与另一个用户区分开来
$EUID
更安全,因为它是只读的,但这将为您提供用户id,而不是其名称

使用
/etc/bashrc
上的
case
可以执行以下操作:

case $USER in
  bob)
    <do something for bob>
    # No ";;" here so it follows through
  rick)
    <do something for bob and rick>
    ;;
  user9*)
    <do something for user9*>
    ;;
esac
案例中的$USER
(鲍勃)
#不,这里是“;”所以它会一直延续下去
(瑞克)
;;
用户9*)
;;
以撒

该脚本是bash脚本吗?是的,它是在
bash
中编写的。我在运行脚本时出现此错误,是的,我已添加了两个用户。“/test.sh:第16行:意外标记附近的语法错误
”。/test.sh:第16行:
rick)“test.sh第16行的全部内容是什么?第16行只有:rick)