GNU/Linux >> Belajar Linux >  >> Linux

Variabel lingkungan TERM tidak disetel

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


Linux
  1. Variabel Curl Outfile Tidak Bekerja Dalam Skrip Bash?

  2. Di mana Default Variabel Lingkungan Istilah Ditetapkan?

  3. Contoh Perintah Ekspor Linux (Cara Mengatur Variabel Lingkungan)

  1. Bagaimana cara mengatur variabel lingkungan permanen secara terprogram di Linux?

  2. Tetapkan ip statis jika tidak diperoleh dari DHCP (skrip)

  3. Di mana variabel PATH diatur di Ubuntu?

  1. Variabel Lingkungan Linux:Cara Membaca dan Mengatur di VPS Linux

  2. Bagaimana Cara Mengatur Variabel Lingkungan Pengguna? (secara permanen, Bukan Sesi)?

  3. Bagaimana cara mengatur variabel lingkungan dalam GDB menggunakan perintah Shell?