linux切换用户执行脚本

在我们日常运维中,在一个用root权限执行的脚本中,需要经常切换到不同用户执行对应的命令,因此如下总结了如何在root用户有执行权限的脚本中如何切换到不同用户执行对应的命令或者脚本的几种方式:

1. su - user -c 'command'  # 单独一条命令有没有单引号或者双引号包裹都可以
ex: su - zzl -c 'whoami'

2. su - user -c ' # 多条命令用单引号或双引号包裹,如果要对命令输出进行赋值,那么只能用单引号
command1
command2
'
ex: 
su - zzl -c '
free -m
user=$(whoami)
echo $user
'

3. su - user -s /bin/bash script.sh
ex: su - zzl -s /bin/bash /home/zzl/a.sh

4. su - user <<EOF #这个方式,不能对命令的输出进行赋值
command1
command2
EOF
ex:
su - zzl << EOF
whoami
free -m
EOF
whoami

#下面这样写$user不会有输出
ex: 
su - zzl << EOF
user=$(whoami)
echo $user
free -m
EOF
whoami

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿木木爱打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值