2016-04-02 24 views
0

Bu yüzden kısa süre önce diğer kişilerle paylaşmak istediğim basit bir bash komut dosyası hazırladım. Bu yüzden, komut dosyasını, başkalarının yerleştireceği bir klasördeki dosyaları aramayı denedim, bu da birkaç dosya için iyi çalıştı.Değişken olmayan bir bash betikteki metni değiştirin

Kodumda, değişkenleri kabul etmeyen bir komutum olsa da, bunlar geçilir, ancak komutta değiştirilmezler. Yani bir değişken kullanmak yerine, sadece bilgisayarımda bulunan dosya yolunu kullanmak zorunda kaldım.

Ve herkesin bu komut dosyasını kullanmasını istediğim için bu yolları değiştirmenin bir yoluna ihtiyacım var. Bu yüzden şunu düşündüm:

Bunu bulmak için diğer dosyayı bulduğunuz komutu kullanın. Ardından, komutta bulunan yolun yolunu komutun bulduğu yolla değiştirin.

Sorunum olsa da, istediğim şey bulamadım. İşte benim kod: Ben senin soru hakkında emin değilim rağmen kullanmakta yerine dize deneyebilirsiniz,

#!/bin/bash 

#variables that store the paths 

dtree=$(find Downgrade -type f -iname DeviceTree*) 
ramdisk=$(find Downgrade -type f -iname *.dmg) 
kernel=$(find Downgrade -type f -iname kernelcache*) 

#the execution of the command. (Using normal EOF without ”” doesn’t replace the strings.) 

./irecovery -s <<"EOF" >/dev/null 

/send Downgrade/DeviceTree.n90ap.img3 #This needs to be replaced by $dtree 
devicetree 
/send Downgrade/048-2441-007.dmg #This needs to be replaced by $ramdisk 
ramdisk 
/send Downgrade/kernelcache.release.n90 #This needs to be replaced by $kernel 
bootx 
/exit 
EOF 

cevap

İlgili konular