Sunucu modunda localhost
numaralı sunucuda çalışan bir yazılım parçasının günlük çıktısını, nc
aracılığıyla sunucuyla iletişimi tetikleyen bash komut dosyasında yakalamaya çalışıyorum.Yerel bash betiğindeki sunucu terminali çıktısını yakalama
sunucu böyle başlatılır: bash komut dosyasından
java -Xms4g -Xmx6g -jar target/Semafor-3.0-alpha-04.jar model-dir:../semafor_malt_model_20121129 port:4444
iletişimdir: güzel nc
örneğinde olduğu gibi
cat file | nc localhost 4444 > ./output
Bu STDERR
çıkışını yakalar.
Ancak sunucuyu başlattığım terminal penceresinde dolaşan çok sayıda günlük mesajı görebiliyorum ve sorum şu ki bu iletileri bash komut dosyasında nasıl yakalayabileceğim (ve böylece bunları belirli bir dosya adı file.log altında kaydedebileceğim) , gönderilen her dosya için farklı olurdu)?
Ben değişken
var=$(cat file | nc localhost 4444 > ./output)
yılında bash komutunun çıktısını yakalayan hatta script
ile fakat başarılı terminali çıkış yakalamak için çalışıyor gibi çeşitli önerilerde denedim. Açıkçası burada derinlikten çıkıyorum ve herhangi bir işaretçi minnetle alınacaktı.
Öneriniz için teşekkürler. Ekran benim için yeni ve java ve yol bileşenleri bulunamadı hataları ile ilgili çalışıyor gibi görünüyor. Bu gece düzgün bir şekilde gidecek ve o zaman daha alakalı sorular olabilir. – Alexander
Üzgünüm, bunu işe almak için uğraşıyorum. Ekranı kullanırken tüm sınıf yolu ve diğer yol bilgileri kaybolur gibi görünüyor, bunun bir yolu var mı? Akrabayı mutlak yollarla değiştirmeyi denedim, ancak bazıları değişemediğim ENV değişkenlerinde tanımlanmışlardır. Herhangi bir fikir? – Alexander
Bu sorunu çözmenin birkaç yolu vardır, ancak en kolay yol setenv komutunu kullanmaktır, daha fazla bilgi bulabilirsiniz [burada] (http://unix.stackexchange.com/questions/157202/how-to-set- ekran-çevre değişken den-bash). – aalf1987