SORU
28 NİSAN 2009, Salı


'Perl'In backticks arasındaki fark ne, sistem ve exec?

Birisi lütfen bana yardım edebilir mi? Perl, arasındaki fark nedir:

exec "command";

ve

system("command");

ve

print `command`;

Kabuk komutlarını çalıştırmak için başka yollar var mı?

CEVAP
28 NİSAN 2009, Salı


exec

bir komut ve yürütürasla geri dönmez. İşlevi return ifadesi gibi.

Eğer komutu bulunursa. exec false değerini döndürür. Hiç değilse komutu bulunursa hiç döndürdüğü için true döndürür. Ayrıca STDOUT, STDERR ya da komutun çıkış durumu dönen işaret yok. perlfunc, bu konuda belgeleri bulabilirsiniz bir fonksiyon çünkü.

sistem

bir komut çalıştırır ve Perl script komutu tamamlandıktan sonra devam etti.

Dönüş değeri komutun çıkış durumudur. perlfunc bu konuda belgeleri bulabilirsiniz.

backticks

gibi system bir komutu yürütür ve perl script komutu tamamlandıktan sonra devam etti.

Aksinesystemdönüş değeri komutu STDOUT. qx// backticks eşdeğerdir. Operatör system execaksine perlop, bu konuda belgeleri bulabilirsiniz.


Diğer yollar

Yukarıda eksik ne bir komut zaman uyumsuz olarak çalıştırmak için bir yoldur. Bu perl komut dosyası ve komut aynı anda çalıştırmak anlamına gelir. Bu openile yapılabilir. SenSTDOUT/STDERR okuyabilir ve komut STDIN yazmak. Platform bağımlı olsa da.

Ayrıca bu görevleri kolaylaştıracak birçok modül var. De IPC::Open2 IPC::Open3 IPC::Run olarak var Eğer windows üzerinde iseniz Win32::Process::Create.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008