2

我有两个脚本,由 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 命令以使 file.txt 归用户所有,而不是 root?

4

2 回答 2

1
#!/bin/sh
#script1.sh
...
echo "\tchown "`logname`" file.txt" >> my_makefile
于 2012-08-22T19:12:22.110 回答
0

抱歉,我没有正确使用 sudo。我只需要将 script2.sh 的最后一行替换为:

echo "sudo su -m -l `whoami` -c \"touch file.txt\"" >> my_makefile
于 2012-08-22T19:21:25.473 回答