Shell 脚本本身运行良好,但不能在 cron 中运行

Shell 脚本本身运行良好,但不能在 cron 中运行

我有一个 shell 脚本,用于在某个地址上运行 nmap,我想让它每天帮我执行这个任务。因此,我在 crontab 中添加了对它的引用。

不幸的是,出于某种原因,它无法识别我发送给 nmap 的参数。虽然我显式运行它时它运行正常,但它在 cron 中的第一个参数上出错。

Cron条目:

0 3 * * * /home/directedition/observatory/nmapscan.sh # JOB_ID_1

脚本:

#!/bin/bash
today=$(date +"%Y-%m-%d")
tempfilename=/home/directedition/observatory/scan-$today.temp.xml
filename=/home/directedition/observatory/scan-$today.xml
touch $tempfilename
chmod 640 $tempfilename
/usr/bin/nmap -A -T5 -O -v -oX $tempfilename 10.10.1.0-255 > /home/directedition/observatory/nmapoutput.txt
chown directedition $tempfilename
chmod 644 $tempfilename
mv $tempfilename $filename

错误:nmap: invalid option -- 'A'

我可以随意调整参数,但无论我先放哪个参数,都必然会出现错误。

答案1

尝试使用执行程序的完整路径,例如:

0 3 * * * /bin/bash /home/directedition/observatory/nmapscan.sh # JOB_ID_1

相关内容