-1
我已經看到很多解決方案來解決我的問題 - 每5秒運行腳本。如何每5秒鐘運行一次shell腳本2分鐘?
除此之外,我也只希望它只運行2分鐘。
腳本的點是在某個位置採樣RSSI一段時間:
#!/bin/bash
RSSI_CSV=$1
DISTANCE=$2
RSSI=$(iwconfig wlan0 | awk -F'[ =]+' '/Signal level/ {print $7}\')
printf "$DISTANCE,$RSSI\n" >> $RSSI_CSV
在命令行中它被稱爲有:
sh rssi_script.sh output.csv position
會是什麼解決我的問題的最強大的解決方案?
可能性我已經考慮:
- 重複的腳本中本身40倍(測量RSSI 40倍,並輸出到CSV 40倍,該位置將在整個實驗中一樣),這也將解決限制運行到2分鐘的問題。我可能會添加一些新的命令行參數,如果每次都必須更改40個變量,那麼可能很難記錄下來。
- 使用手錶每5秒採樣一次,cron將其限制爲2分鐘(不是100%cron可以做的這個)
- 一個while循環2分鐘(不確定如何做一個while循環是這樣的?)在每個循環結束時用5秒睡眠
- 使用cron啓動shell腳本爲40個進程腳本和延遲每次迭代5秒,我不知道如何通過命令行參數傳遞,正如我上面所說,我可能會添加一些新的命令行參數,以便可能會導致問題(額外的工作)
讓我知道是否有任何信息我已經錯過或將幫助,並感謝任何人可以給予任何幫助。
至少在最後一行使用'exec'作爲尾遞歸優化。 – chepner 2013-02-19 14:01:39
你是什麼意思使用exec?新腳本似乎不工作,我得到錯誤rssi_script.sh:13:rssi_script.sh:rssi_script:找不到 – 2013-02-19 15:32:13