2

rootが所有する2つのスクリプトがあります。

#!/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は「sudoshscript.sh」と呼ばれ、my_makefileでmakeを継続的に実行します。script1.shは、makefileを変更するために個々のユーザーによって呼び出されます。

file.txtがrootではなくユーザーによって所有されるようにmakefileコマンドを実行するにはどうすればよいですか?

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 に答える