Bash

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

  • February 19, 2016

我製作了一個名為的腳本hello.sh,它包含以下內容:

#!/bin/bash

printf "$( arp-scan --interface=eth0 --localnet )\n"
printf "test\n"

在使其可執行(chmod o+x)並執行它(./hello.sh >> file.txt)之後,我得到了正確的輸出file.txt(這是 arp-scan 結果和字元串“test”)。但是在將以下行添加到 crontab -e

*/1 * * * *  /path/to/hello.sh >> /path/to/file.txt

我得到以下輸出:


測試

測試

測試

如您所見,該arp-scan部分返回了一個空字元串。如何讓 arpscan 與 cron 一起工作?

**附加資訊:**以 sudo ( ) 登錄後一切都已完成sudo -iarp-scan需要須藤。我在 Fedora 20 上執行它。

cron以非常小的環境和減少的路徑執行。

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

嘗試將完整路徑添加到arp-scan命令。

引用自:https://unix.stackexchange.com/questions/264389