期待どおりに動作しない単純なスクリプトがあります。
#!/bin/bash
CRONFILE="/tmp/temp_cron"
crontab -l > "$CRONFILE"
grep "* * * * * /usr/local/bin/temp_cpu_gmetric.sh" /tmp/temp_cron
CRONCONT=`grep "* * * * * /usr/local/bin/temp_cpu_gmetric.sh" /tmp/temp_cron`
echo $CRONCONT
私のcrontabは1行で構成されています。これは、* * * * * /usr/local/bin/temp_cpu_gmetric.sh
まさにgrepされているものです。予想どおり、grep の最初のインスタンスは、この文字列の 1 つのインスタンスを返します。
ただし、echo $CRONCONT
インスタンスは、* * * * *
一連のものに置き換えられて返されます。これには、スクリプトが実行されるディレクトリの内容が含まれますが、場所がすぐにはわからない他の多くのものも含まれます。
cronfile から削除する* * * * *
と、問題は解決しますが、現在では機能しない理由がわかりません* * * * *
。