2013-04-26 30 views
38

Çalıştırdığımda bununla birlikte bir file.sh dosyası var: TERM ortam değişkeni ayarlanmadı.TERM ortam değişkeni ayarlanmadı

smbmount //172.16.44.9/APPS/Interfas/HERRAM/sc5 /mnt/siscont5 -o 
iocharset=utf8,username=backup,password=backup2011,r 

if [ -f /mnt/siscont5/HER.TXT ]; then 
    echo "No puedo actualizar ahora" 
    umount /mnt/siscont5 
else 
    if [ ! -f /home/emni/siscont5/S5.TXT ]; then 
     echo "Puedo actualizar... " 
     touch /home/emni/siscont5/HER.TXT 
     touch /mnt/siscont5/SC5.TXT 
     mv -f /home/emni/siscont5/CCORPOSD.DBF /mnt/siscont5 
     mv -f /home/emni/siscont5/CCTRASD.DBF /mnt/siscont5 
     rm /mnt/siscont5/SC5.TXT 
     rm /home/emni/siscont5/HER.TXT 
     echo "La actualizacion ha sido realizada..." 
    else 
     echo "No puedo actualizar ahora: Interfaz exportando..." 
    fi 
fi 
umount /mnt/siscont5 
echo "/mnt/siscont5 desmontada..." 
+12

Bu güzel. Bir sorunuz mu var? –

+0

Sunucu çalışıyor, Cron bunu her 2 dakikada bir arayın, ancak bazen TERM ortam değişkenini ayarlamayın, sonra .sh hiçbir şey yapmayın. – meyquel

+0

Aynı sunucuda, Cron'un farklı bir zaman aralığındaki bazı .sh. – meyquel

cevap

67

gerçekten değil set olup olmadığını görebilirsiniz. set | grep TERM komutunu çalıştırın.

Değilse, bunu böyle ayarlayabilirsiniz:

Cron bu .sh her 2 dakikada bir

Cron çağırır: export TERM=xterm

+10

ihracat TERM = linux da çalışır –

5

Bu ifadeye soruyu yanıtladı Bir terminalde çalışmıyor, neden bir tane ayarlanmasını bekliyorsun?

Bu hata iletisini almanın en yaygın nedeni, komut dosyasının kullanıcının tweet ile ilgili bir şey yapmadan önce bir uçbirimde çalışıp çalışmadığını kontrol etmeyen, kullanıcının .profile kaynağını sağlamaya çalışmasıdır. Geçici Çözümler gibi shebang hattı kullanılması yer alıyor:

#/bin/bash şey çok saçma yapmak denemez ve sahip olacaktır (tek umutlar) sistem düzeyi profili komut kaynak neden -p

Bir uçbirimden çalıştırılmaya bağlı olan kod etrafındaki korumaları.

Bu, komut dosyasının tamamını içeriyorsa, komut dosyasının normal içeriğinden diğer hata adresinden gelen TERM hata geliyor.

+0

nasıl script finali ??? – meyquel

+0

diğer .sh, cron tarafından farklı zaman aralığı içinde çağırıyor, bu hata göründüğünde, yeniden başlatma comand çalışmıyor ... – meyquel

+0

Üzgünüm, ama bu yorumlarda söylediklerini anlamak çok zor. Bahsedilen shebang çizgisi, komut dosyasının başlangıcında olmalıdır - ilk satır. Başka bir betik hakkında hiçbir şey söylenmez ve eğer yeniden başlatma çalışmıyorsa, ancak root olarak çalışıyorsanız, sistemde başka bir sorun var demektir. – Petesh

21

Bir terminal komutu kullanarak, yani "temizle", cron (terminalsiz) denilen bir komut dosyasında bu hata iletisini tetikler. Komut dosyanızda, smbmount komutu, yukarıdaki çalışmaların uygun olduğu bir terminali bekler.

+7

bu benim için sorun oldu –

+2

'clear' (veya diğer terminal komutu)' .bashrc' veya '.bashrc' denilen diğer komut dosyaları eklenirse, aynı sonuçlanır. – madD7

İlgili konular