2011-04-26 57 views
0

我是Linux的新手,我希望能帮到脚本。我希望脚本创建一个文件,并为每个人授予读取,写入和执行权限,一分钟后,我希望只读权限并回复“您不再有权访问”的消息。如何在特定时间执行工作

我曾尝试以下,它创造并给出了权限,但确实呼应消息“你不再有机会获得” ..

#!/bin/bash 
echo "enter time" 
read time 

touch bin/jozat 
echo chmod 777 bin/jozat | at now + 1 minutes 
echo chmod 700 bin/jozat | at now + 2 minutes && echo "you no longer have access" 

回答

2

我不知道如何使用at但我敢打赌你的echo会发送输出的某些日志文件。另外,在更新权限后不想发送echo?您的脚本在注册权限更改为at之后立即输出它,而不是在更改权限时。

我将其替换为wall,它将消息发送给所有终端中的所有用户。所以,我会写的

echo 'chmod 700 bin/jozat && echo "you no longer have access" | wall' | at now + 2 minutes 

代替

echo chmod 700 bin/jozat | at now + 2 minutes && echo "you no longer have access" 

注意,所有的命令chmod 700 bin/jozat && echo "you no longer have access" | wall是单引号之间。

这是一个很好的解决方案吗?

编辑:所述wall命令将消息发送到所有用户所有终端。如果你想将消息发送到只执行代码的用户,可以使用write命令与当前用户名:

echo 'chmod 700 bin/jozat && echo "you no longer have access" | write `whoami`' | at now + 2 minutes 
+0

感谢brandizzi。我认为这可能.will做尝试一分钟 – user1283613 2011-04-26 15:32:35

+0

非常感谢brandizzi。我测试了它与墙壁一起工作。再次感谢 – user1283613 2011-04-26 15:46:53

+0

很高兴为您提供帮助。顺便说一句,你见过我最近的更新吗?有一种解决方案不会将消息显示给所有用户,但只针对当前用户。它可能对你更好,而且根本不复杂。 – brandizzi 2011-04-26 16:08:30