
我製作了一個名為的腳本hello.sh
,它包含以下內容:
#!/bin/bash
printf "$( arp-scan --interface=eth0 --localnet )\n"
printf "test\n"
在使其可執行 ( chmod o+x
) 並運行它 ( ./hello.sh >> file.txt
) 後,我得到了正確的輸出file.txt
(即 arp 掃描結果和字串“test”)。但加入以下行後 crontab -e
:
*/1 * * * * /path/to/hello.sh >> /path/to/file.txt
我得到以下輸出:
測試 測試 測試
正如您所看到的,該arp-scan
部分傳回了一個空字串。如何讓 arpscan 與 cron 一起工作?
附加資訊:以 sudo ( ) 身分登入後,一切就完成了sudo -i
。arp-scan
需要須藤。我在 Fedora 20 上運行它。
答案1
cron
在非常小的環境和簡化的路徑下運行。
在設計為執行的腳本中始終是最安全的,cron
以確保所有命令都提供完整路徑,或腳本設定自己的 PATH 變數。
嘗試新增命令的完整路徑arp-scan
。