Ssss-combine çıkışı yakalanamıyor


0

ssss-combineŞimdiye kadar başarılı olmayan bir dosyanın çıktısını bir dosyaya yönlendirmeye çalışıyorum .

Temel bilgileri çalıştı: > file, 2>&1 > fileve tee fileama her zaman ekranda gösterilecek ve hiçbir şey dosyaya konur.

Yanıtlar:


0

Çalıştırmakta olduğunuz komutu tam olarak belirtmemiş olsanız da, kesin olarak söylemesi zor olsa da, komutunuzun stdout yerine standart hata dosyası tanımlayıcısına (aka stderr) yazdırdığını varsayıyorum.

Yönlendirmeler > fileveya | tee filesadece stdout'u yönlendirir, ancak stderr'i yönlendirmez.

2>&1 > filearadığınızı da yapmaz. İlk önce hatayı stdout'un şu anda olduğu noktaya yönlendirir, bu sizin terminal emülatörünüzdür ve ardından stdout'u (ve sadece stdout'u değil, stderr'i) bir dosyaya yönlendirir.

2>fileStderr'i yeniden yönlendirmek için ya da önceki örnekteki iki yönlendirmeyi değiştirmek için kullanabilirsiniz : >file 2>&1her iki akışı da aynı dosyaya yönlendirmek için. Düzen, soldan sağa değerlendirildiklerinden önemlidir. Bu kez ilk önce çıktıyı dosyaya yönlendiriyorsunuz, sonra da çıktının geçerli konumuna (zaten bu dosya olan) hatayı yönlendiriyorsunuz.


-1

İşin püf noktası kullanmaktır script -c 'ssss-combine ...' output.txt(Çünkü sss stdout'a çıkmıyor)


Bu muhtemelen gereksiz yere karmaşık ve yönlendirmenin neden işe yaramadığı noktasını tamamen kaçırıyor.
egmont
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.