Bir değişkende depolanan bir komut var. Değişkenin $i
şu değere sahip olduğunu varsayalım :
cat -nT index.php |grep 'someregex'
Yukarıdaki değişkeni yazmaya $i
çalıştığımda, kabuk tüm değişkeni tek bir komut olarak yürütmeye çalıştığından başarısız olur. Ben de kullanmak eval($i)
ve $i
backticks koyarak denedim .
Kabuğun bir komutmuş $i
gibi çalıştırılmasını nasıl sağlayabilirim ? Ve neden olduğu gibi çalışmıyor.
$i='echo hi'; $i
Tek tırnak içinde kesmek zorunda olduğum için mi? (Çünkü onları iç içe geçiremezsiniz.) Şu anda benim çözümüm
echo $i > /foo; . /foo
Ama sadece bunun için bir dosya oluşturmak istemiyorum, sadece daha sonra silmek için.
Demek istediğim "Ben tek tırnak hack ben yaptım:
$i='cat index.php | grep -P '"'"'MYREGEXHERE'"'"