以另一个用户身份运行makefile命令

时间:2012-08-22 18:56:49

标签: linux makefile

我有两个脚本,由root拥有。

#!/bin/sh
#script1.sh
echo "all: first" > my_makefile
echo >> my_makefile
echo "first: " >> my_makefile
echo "\ttouch file.txt" >> my_makefile

#!/bin/sh
#script2.sh
while true
do
 make -f my_makefile
 sleep 10
done

script2.sh被称为“sudo sh script.sh”,并在my_makefile上不断运行make。个别用户调用script1.sh来改变makefile。

如何运行makefile命令,以便file.txt归用户所有,而不是root用户?

2 个答案:

答案 0 :(得分:1)

#!/bin/sh
#script1.sh
...
echo "\tchown "`logname`" file.txt" >> my_makefile

答案 1 :(得分:0)

抱歉,我没有正确使用sudo。我只需要用:

替换script2.sh的最后一行
echo "sudo su -m -l `whoami` -c \"touch file.txt\"" >> my_makefile