簡體   English   中英

在Raspberry PI上啟動后運行Shell腳本

[英]Running Shell Script after boot on Raspberry PI

我正在使用覆盆子pi制作一個網絡信息亭顯示板,我想在加載后2分鍾向瀏覽器窗口發送一些按鍵。 該腳本發送Web服務器的登錄詳細信息。

我有一個腳本,可以發送從telnet控制台正常工作的擊鍵:

#!/usr/bash
username="username"
password="password"
echo "Setting Display"
export DISPLAY=:0
echo "Sending Username"
for char in $(sed -E s/'(.)'/'\1 '/g <<<"$username"); do
    xdotool key $char
done
xdotool key Tab
echo "Sending Password"
for char in $(sed -E s/'(.)'/'\1 '/g <<<"$password"); do
    xdotool key $char
done
xdotool key Return
echo "Waiting 5 Seconds"
sleep 5
echo "Setting Remember Password"
xdotool key Tab
xdotool key Tab
xdotool key Return
echo "Finished"

我試圖將bash /home/pi/logon.sh添加到rc.local文件中 - 但它不會將鍵bash /home/pi/logon.sh送到瀏覽器?

有沒有人知道為什么會這樣? 正如我所說的 - 如果我運行腳本,它在telnet窗口中工作正常,但從啟動運行時它不起作用。

如果它立即開始並且等到瀏覽器已經加載,我就已經在線上停留了sleep 120 ,然后等到瀏覽器加載了 - 我知道腳本是從rc.local運行的,因為當我刪除sleep命令時,我看到腳本中的回聲。

有任何想法嗎?

它無法工作的原因是因為腳本需要以用戶pi的形式運行。

我將rc.local腳本中的代碼更改為: su - pi -c "bash /home/pi/logon.sh &"

這使得腳本以用戶pi的形式運行,並且使用&符號通過分叉腳本使腳本與rc.local腳本分開運行。 http://hacktux.com/bash/ampersand

把它放在你的crontab中

@reboot /path/to/script

使用編輯它

#crontab -e

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM