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