在shell脚本中执行root命令,并在进程后更改为普通用户

时间:2017-03-07 03:34:37

标签: shell

我正在尝试创建一个shell脚本,它使用root访问权来安装所有依赖项,在完成它之后,它从root命令退出并继续以普通用户身份执行脚本。

这是测试代码:

#!/bin/sh

output=$(whoami)

if [ "$(whoami)" != "root" ]
then
    su -c "echo \"hi\""
    echo $output
    //continue doing some installtion 
    exit
fi

echo $output //this should show the normal username not the root name

1 个答案:

答案 0 :(得分:0)

#!/bin/sh

su -c 'echo $(whoami)'
echo $(whoami)

使用 su 传递命令时,选项 -c 会以 root 用户身份运行,因此当您要安装任何您可以运行以下命令的依赖项,如上例所示。