$ 1.gz, klasörde var, ancak böyle bir dosya veya dizinin erişemediğini söyledi


0

Yazan bir senaryom var

gzip -cN "$1" > "$1.gz" | ls -l "$1.gz" | awk '{print $5}'

Ben argümanı ile çalıştırın ffve hata mesajını alıyorum

ls: cannot access ff.gz: No such file or directory

Ama sonradan koşarken ls -l (el ile, kabuk isteminden), görüyorum ff.gz var mı. Sorun nedir?

Yanıtlar:


1

Yaparsan

 cmd  1   |   cmd  2  ... 
sonra cmd 1 ve cmd 2 Aynı anda daha fazla veya daha az çalıştırın. Çok işlemcili bir sisteminiz varsa, aslında aynı anda çalışabilirler. Fakat her durumda eşzamanlı olarak koşacaklar. Kesin zamanlama, tahmine izin veremeyecek kadar karmaşık faktörler tarafından belirlenir.

Sizin cmd 1 olduğu gzip -cN "$1" > "$1.gz" ve senin cmd 2 olduğu ls -l "$1.gz". bu yüzden ls daha önce yayınlanmaya başlayabilir gzip oluşturur "$1.gz" dosya.

ls standart girişinden okumaz, bu nedenle boruya almak hiç bir anlam ifade etmez. Muhtemelen yapmak istiyorsun

gzip -cN "$1" > "$1.gz"   Ve Ib amp;  ls -l "$ 1.gz" | awk '{$ 5} yazdır 
yani, koş gzip, ve sonra, başarılı olursa, ls -l.
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.