嘿伙计们,我对bash很新。 我正在创建一个简单的记录器我想要实现的是以超级用户身份登录所以(sudo su)运行一些代码(写入文件)然后以超级用户身份注销然后执行其余代码
以下是我的例子:
read -p "Are you sure you want to log this?" -n 1 -r
if [[ $REPLY =~ ^[Yy] ]]
then
sudo su
if [ "$EUID" -ne 0 ]
then
echo $log >> ~/Logs/logs.txt
fi
exit
fi
echo "DONE"
我真的很难找到一个解决方案,有一些例子,但没有这么简单(我能找到的是)
如果你找时间提供帮助,谢谢你。
答案 0 :(得分:1)
如果执行sudo su
,您将获得一个交互式会话 - 也许您应该只执行命令来编写日志:
read -p "Are you sure you want to log this?" -n 1 -r
if [[ $REPLY =~ ^[Yy] ]]
then
sudo bash -c "if [ \"$EUID\" -ne 0 ]; then echo $log >> ~/Logs/logs.txt; fi"
fi
echo "DONE"