在shell脚本里切换用户执行命令
时间: 2023-07-21 14:05:03 浏览: 156
可以使用`su`命令切换用户执行命令。例如,假设要切换到名为`user2`的用户,并执行`ls`命令,可以使用以下命令:
```
su - user2 -c "ls"
```
其中,`-`表示使用`user2`用户的Shell环境,`-c`表示执行命令。将`ls`命令换成需要执行的命令即可。需要注意的是,切换用户需要有足够的权限才能执行成功。
相关问题
shell脚本里切换用户后执行一条命令
可以使用以下命令切换用户并执行一条命令:
```
sudo -u <username> <command>
```
其中,`<username>`为要切换到的用户名,`<command>`为要执行的命令。例如,要切换到用户`testuser`并执行`ls`命令,可以使用以下命令:
```
sudo -u testuser ls
```
shell脚本中用其他用户执行命令
在Shell脚本中,如果你想让另一个用户执行命令,你可以使用`sudo`(superuser do)命令。`sudo`允许指定的用户在运行某些需要管理员权限的任务时临时获得超级用户(root)的权限。在脚本中,通常会这样写:
```bash
#!/bin/bash
echo "This command will run with root privileges:"
sudo your_command_here
```
当这个脚本被运行时,它会提示输入密码,然后执行带有`your_command_here`替换部分的命令,该命令将使用root用户的权限执行。
如果你希望特定用户执行,而不是root,可以指定`su -`(切换用户)并跟随目标用户名,例如:
```bash
#!/bin/bash
echo "This command will run as user 'target_user':"
su target_user -c "your_command_here"
```
这会让脚本以`target_user`身份运行,并执行指定的命令。
阅读全文