Bir “make install” - “dry run” veya simülatör yardımcı programının çalışmasını simüle et?


13

Bir bash betiği çalıştırmanın ve sonuçta ortaya çıkan komutları görmenin genel bir yolu var mı, ama aslında komutları çalıştırmıyor - yani "kuru çalışma" / bir tür simülatör?

Ben çalıştırmak istediğiniz bir veritabanı yükleme komut dosyası (aslında ./configure ve make çalıştırdıktan sonra "yapmak" var, ama ben istemiyorum şeyler her türlü yüklüyor.

Bu yüzden, gerçek için çalıştırmadan önce tam olarak ne yapacağını görmenin bir yolunu istiyorum - belki de komutları el ile çalıştırın.

Böyle bir görevi yerine getirebilecek herhangi bir yardımcı program var mı (veya ilgili / benzer bir şey)?


Bence 'set -n' böyle bir şey yapıyor. -X eklemeyi de deneyin.
Jeff Schaller

-N setine "make install" komutunu nasıl verebilirim?
Vérace

bash -n make install, ancak man bash: "Etkileşimli bir kabuk bu seçeneği yoksayabilir."
pfnuesel

'De kuru çalışma seçeneği yoktur bash. Ayrıca buraya bakınız stackoverflow.com/questions/19115156/…
pfnuesel

Yanıtlar:


17

GNU marka bir kuru çalışma yapma seçeneğine sahiptir :

'-N'

'--Just-print'

'--Dry işletilen'

'--Recon'

“Hayır-op”. Nedenleri, hedefleri güncel yapmak için gerekli olan tarifleri yazdırır, ancak gerçekte bunları yürütmez. Bu bayrakla bile bazı tariflerin hala yürütüldüğünü unutmayın (bkz. Değişken Nasıl YAPILIR). Ayrıca, dahil edilen dosyaları güncellemek için gereken tarifler hala yürütülmektedir.

Durumunuz için, sadece çalıştırılacak make -n installkomutları görmek için makeçalıştırın.


5

Herhangi bir sürümünün makebir -nseçeneği vardır ( POSIX açıklamasınamake bakın ), ancak kabuğun karşılık gelen seçeneği yoktur (bkz. Örneğin, komutları çalıştırmadan gösterme ).

Durumu daha da kötüleştirmek için, automake kullanıyor olursanız, herkesin "make -n" kullanma yeteneğini yenen ve ne yapacağını görecek olan büyük kazan plakası komut dosyalarının (geliştiricilerinin "özyinelemeli kurallar" olarak adlandırdığı) yapıştırır. olmak.

Daha fazla okuma:

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.