Wenn 'which' die ausführbare Datei finden könnte, könnte dies auch der Shell-Interpreter sein, der den Befehl cron ausführt. Ich verstehe also nicht, warum Sie 'which' für diesen Zweck verwenden möchten. Aber vielleicht haben Sie einen Grund, der nicht offensichtlich ist.
Der Befehl "which" verwendet die in $ PATH aufgelisteten Verzeichnisse, um nach dem ersten Vorkommen eines Befehls zu suchen. Sehr wahrscheinlich ist PATH nicht so eingestellt, wie Sie glauben. Versuchen Sie, '/ usr / bin / env >> /home/user/you/env.txt' zu Ihrer Crontab hinzuzufügen, um heute eine Minute zu laufen. Dann schauen Sie in /home/user/you/env.txt nach, wo PATH eingestellt wurde. Wenn dieser PATH nicht für Ihre Zwecke geeignet ist, müssen Sie möglicherweise alle Ihre Befehle in ein kleines Shell-Skript schreiben, in dem Sie PATH selbst einstellen können. Sie können auch in dieser Datei env.txt nach anderen exportierten Umgebungsvariablen suchen, da dies von Nutzen sein kann, je nachdem, was Sie über Ihre Crontab-Software tun möchten.