Bu sorunun zaten burada bir cevabı var:
- Kısaca, ünlem işaretinden nasıl kaçabilirim? 5 cevaplar
Nasıl yazılacağını çözemiyorum ! bash betiğindeki sembol çift tırnaklı dizelere yerleştirilir.
Örneğin:
var="hello! my name is $name! bye!"
Aşağıdaki komutları yazarsam çılgınca bir şey olur:
$ age=20
$ name='boda'
$ var="hello! my name is $name! bye!"
Son komutta enter tuşuna bastığımda, komut sonuncusu olmadan kendisini tekrar eder (kendisini yazar) !:
var="hello! my name is $name! bye"
Eğer tekrar basarsam:
$ var="hello! my name is $name bye"
Enter tuşuna tekrar basarsam kaybolmaz hiçbir şey çıkmaz:
$
Bunu denersem:
$ echo "hello\! my name is $name\! bye\!"
Sonra çıktılar: hello\! my name is boda\! bye\!
Tek tırnak kullanırsam, adım genişlemiyor:
$ echo 'hello! my name is $name! bye!'
Çıktılar: hello! my name is $name! bye!
Bu şekilde çalışmasını sağladım:
$ echo "hello"'!'" my name is $name"'!'" bye"'!'
Ama bu büyük bir karmaşa " ve ' anlamak / düzenlemek / sürdürmek / güncellemek imkansız.
Biri yardım edebilir mi?
echo $var bana cevap veriyor hello! my name is boda! bye!. Yazmadığından emin misin? var="hello! my name is $name! bye" !! ?
echo hi gir ve sonra !! girmek. Çalıştırmadan önce genişletip genişletmediğini kontrol edin. Olabilir set +o histexpand yardım edebilir.
$namegenişlemiyor!