2016-03-30 40 views
0

Kabuk komut dosyasında komut ikameleri kullanılarak sorun yaşıyorum. Geriye dolandım ve geri sayımlar ve $() kurulumları dahil olmak üzere tüm varyasyonları denedim.Kabuk komut dosyasında değişkene komut kaydedilemiyor

Terminalde komutu düzgün şekilde ekleyebilirim ancak bu komutu $ jetonuna kaydedemiyorum.

Bu çalışır:

echo $AUTH | grep -o "hbapi.*[^\"]" 

Bu değildir:

token=$($AUTH | grep -o "hbapi.*[^\"]") 

$ AUTH ben grep kullanarak belirli karakterleri kaldırmak gerekir JSON olduğunu

. Bir bash kabuğunda .sh komut dosyasını çalıştırıyorum.

Kabuk betikleme konusunda yeniyim, bu yüzden herhangi bir tavsiye takdir edilecektir!

sayesinde

Sam

cevap

3

Sen echo kullanmayı unuttum adres:

token=$(echo $AUTH | grep -o "hbapi.*[^\"]") 
+0

Sen beklenmeyen değişiklikleri önlemek için çift tırnak içinde ('echo "$ AUTH'u"') Değişken referanslarını koymalıyız kelime bölme ve/veya joker genişletme nedeniyle. –

İlgili konular