2011-04-26 54 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