shell脚本,指定用户执行shell命令

系统环境:centos7

如root用户下,实现用elk用户启动es,代码如下:

#!/bin/bash

su - elk <<EOF
echo "start elasticsearch..."
nohup sh /data/elasticsearch/bin/elasticsearch &
echo "start kibana..."
nohup sh /data/kibana/bin/kibana &
echo "es started"
EOF

shell中,也可以用以下方法实现:

su - elk -c "pwd"

切换用户只执行一条命令的可以用: su - user -c command
切换用户执行一个shell文件可以用: su - user -s /bin/bash shell.sh

你可能感兴趣的:(linux学习笔记)