Geliştirme iş akışımı kolaylaştırmak için bir kabuk komut dosyası yazıyorum.Neden "tek operatörün beklenen" hatası alıyorum?
Bu dizinde hangi tema klasöründe çalışacağım ve grunt watch
'u başlattığım bir argüman alır.
Komut dosyasını gerekli argüman olmadan çağırırsam, şu anda bir temanın komut satırı argümanı olarak belirtilmesi gerektiğine dair bir uyarı yazdırıyorum.
Kullanılabilir seçeneklerin bir listesini yazdırmak istiyorum, ör. Öyle
THEME=$1
if [ $THEME == '' ]
then
echo 'Need to specify theme from the following'
ls workspace/aws/ghost
else
cd 'workspace/aws/ghost/'$THEME'/'
grunt watch
fi
gibi temalar ana dizinin bir
ls
ile
echo
hattının çıkışını değiştirmek istiyorum
İdeal
THEME=$1
if [ $THEME == '' ]
then
echo 'Need to specify theme'
else
cd 'workspace/aws/ghost/'$THEME'/'
grunt watch
fi
tema dizinleri
Bu defa ne var ...
Ancak, bu bana aşağıdaki hatayı verir
Boş bir değişkeni kontrol etmek için '-z' kullanmalısınız: eğer [-z" $ THEME "]'. – Kevin
başlığını düzenledim, eğer [[-z "$ THEME"]] '' mükemmel çalışıyorsa, '-z' – Luke
' ile deneyeceğim. – Luke