我有两个脚本,由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用户?
答案 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