使用 arp-scan 的 Sudo cron 作業給出空輸出

使用 arp-scan 的 Sudo cron 作業給出空輸出

我製作了一個名為的腳本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 -iarp-scan需要須藤。我在 Fedora 20 上運行它。

答案1

cron在非常小的環境和簡化的路徑下運行。

在設計為執行的腳本中始終是最安全的,cron以確保所有命令都提供完整路徑,或腳本設定自己的 PATH 變數。

嘗試新增命令的完整路徑arp-scan

相關內容