Bir TCL komut dosyasından bir bash komut dosyasını çağırmaya çalışıyorum ve bash komut dosyasından çıkış durumunu almam veya en azından bir şeyi tekrar TCL komut dosyasına geçirmeliyim. Scriptimin başarıyla yürütüldüğünü söyleyebilirim. Baska öneri?Bir tcl komut dosyasından bir bash komut dosyasını çağırıp döndürme ve durumdan çıkma durumu
cevap
Bkz. http://wiki.tcl.tk/exec - "Tartışı göster" düğmesine tıklayın - tam olarak ne sorduğunuzu nasıl yapacağınıza dair çok ayrıntılı bir örnek var. Ne olsa gerek nasıl bir dönüş TCL değeri, ya da nasıl bash bir çıkış durumuna döndürmek tuzak isteyen olmanıza net değil catch
set status [catch {exec script.bash} output]
if {$status == 0} {
puts "script exited normally (exit status 0) and wrote nothing to stderr"
} elseif {$::errorCode eq "NONE"} {
puts "script exited normally (exit status 0) but wrote something to stderr which is in $output"
} elseif {[lindex $::errorCode 0] eq "CHILDSTATUS"} {
puts "script exited with status [lindex $::errorCode end]."
} else ...
Kesin bağlantı, Tcl 8.6 belgelerinden bir örnektir: http://www.tcl.tk/man/tcl8.6/TclCmd/exec.htm#M29 –
güzel. Tcl 8.5 belgeleri aynı örneklere sahiptir: http://www.tcl.tk/man/tcl8.5/TclCmd/exec.htm#M28 –
Ne istiyorsun sonucu dönüş değeri olacaktır exec, ancak exec Sorunlar çoğu da
Düşündüğüm şey buydu ama benim exec'mın sonucunu tutmaya çalıştığımda hiçbir şey elde edemedim. Bunun gibi bir şey deneyebilirim: set value [exec bash script.sh] ve değer, komut dosyalarının çıkış durumundan bağımsız olarak hiçbir şey içermiyor mu? – tgai
tcl Mulhause sınırlıdır alıntı herhangi kompleksi yapmak gerekir, özellikle vardır uyarılmalıdır ara sıra dabbling için. Ancak, @ jk'in cevabı ile başlayan aşağıdaki linkler beni bu durumda faydalı olabilecek errorCode değişkenini ve ilgili şeyleri tartışan this page'a götürdü. İşte errorCode kullanımını gösteren bir örnek aşağıda verilmiştir:
tcl:
set ret_val [catch { exec /bin/bash /path/to/bash_script }]
set errc $errorCode
set ret_val [lindex [split $errc " " ] 2]
puts $ret_val
bash_script, yukarıda referans olarak:
: çıkışında yol açtı#!/bin/bash exit 42
- 1. Tcl komut dosyasını diğer tcl komut dosyasında nasıl çalıştırılır?
- 2. SQL'i bir bash komut dosyasından nasıl çalıştırıyorsunuz?
- 3. Perl komut satırı argümanlarını bir bash komut dosyasından alanlarla mı?
- 4. Bash, bir dizin, bir komut dosyasından komut dosyasını çalıştırır, olağanüstü hata
- 5. Bir komut tamamlandıktan sonra bir ekrandan çıkma
- 6. Bir R komut dosyasından bir bash betiği çalıştırın
- 7. bash komut
- 8. Bir durumdan anahtar durumu bildirimi
- 9. Kullanıcı tcl dosyasından nasıl değiştirilir
- 10. grep bash komut dosyasından çalıştırıldığında renklendirme kaybediyor
- 11. Bir python komut dosyasından exiftool çağırın.
- 12. Bash komut dosyasından dosya nasıl kaynaklanır
- 13. Ubuntu'daki bir bash komut dosyasından nasıl yeniden adlandırılır?
- 14. Bir kabuk komut dosyası ve başka bir kabuk komut dosyasından bağımsız değişkenleri nasıl çağırılır
- 15. BASH komut dosyasında bir uzak sistemde nasıl bir komut yürütürsünüz?
- 16. KODA komut dosyasından çalışan Python komut dosyasını GCD kullanarak yönetme
- 17. Bir groovy kabuk komut dosyasından kopyalanan bir yöntemde bir özel durumdan yanlış yığın izlemesi
- 18. Script bir komut dosyasından çalıştırılıyor -
- 19. alın pid bir senaryomuz var Bash komut
- 20. bash: Komut
- 21. Bash komut dosyasından işletim sistemini tespit edin ve kullanıcıyı bilgilendirin
- 22. Julia - bir komut dosyasını çalıştırın ve tercümanın
- 23. Bir içerik komut dosyasından HTML'yi sayfaya dönüştürün
- 24. Bir BAT dosyasını kullanarak bir komut dosyasını nasıl çalıştırırım?
- 25. Bir python komut dosyasından diğerine dönüş değeri
- 26. piton komut dosyasından
- 27. Bir komut dosyasında bir matlab komut dosyasını çağır
- 28. Komut satırından bir DMG dosyasını nasıl yüklerim?
- 29. Golang'dan bir Bash Komut Dosyası Yürütme
- 30. Toplu iş komut dosyasından bir toplu iş komut dosyasını nasıl çalıştırırım?
olduğunu. –
@Simon Hibbs: İdeal olarak, tshsh'deki bash komut dosyasından çıkış durumunu yakalamak istiyorum. – tgai