Anda telah menjawab pertanyaan dengan pernyataan ini:
Cron menyebutnya
.sh
setiap 2 menit
Cron tidak berjalan di terminal, jadi mengapa Anda mengharapkannya disetel?
Alasan paling umum untuk mendapatkan pesan kesalahan ini adalah karena skrip mencoba mengambil .profile
pengguna yang tidak memeriksa apakah itu berjalan di terminal sebelum melakukan sesuatu yang terkait. Solusinya termasuk menggunakan garis shebang seperti:
#!/bin/bash -p
Yang menyebabkan sumber skrip profil tingkat sistem yang (semoga) tidak berusaha melakukan sesuatu yang terlalu konyol dan akan memiliki penjaga di sekitar kode yang bergantung pada dijalankan dari terminal.
Jika ini adalah keseluruhan skrip, maka TERM
kesalahan datang dari sesuatu lainnya daripada konten skrip biasa.
Menggunakan perintah terminal yaitu "hapus", dalam skrip yang dipanggil dari cron (tanpa terminal) akan memicu pesan kesalahan ini. Dalam skrip khusus Anda, perintah smbmount mengharapkan terminal yang dalam hal ini solusi di atas sesuai.
Anda dapat melihat apakah itu benar-benar tidak disetel . Jalankan perintah set | grep TERM
.
Jika tidak, Anda dapat mengaturnya seperti itu:export TERM=xterm