Beklenmeyen Simgenin Yanında Bash Sözdizimi Hatasını Düzeltin
Çeşitli / / May 30, 2022
Linux Bash Terminalinde kodlama, kodlama sektöründe baskın bir uygulama haline geldi. Yazılım Mühendisleri ve kodlama dilini öğrenen öğrenciler çeşitli hatalarla karşılaşmaktadır. Beklenmeyen '(' simgesinin yakınında Sözdizimi hatası veya Bash sözdizimi hatası gibi hataları tekrar tekrar gördüyseniz beklenmedik bir simgeye yakın, makalede açıklanan yöntemlere güvenmeyi deneyebilir ve uzmanlaşabilirsiniz. kodlayıcı. Makalede açıklanan yöntemleri açıklanan sırayla okuyun ve dosyanızdaki komut satırlarındaki hataları düzeltin.
İçindekiler
- Beklenmeyen Simgenin Yanında Bash Sözdizimi Hatası Nasıl Onarılır
- Yöntem 1: Her Komut Satırındaki Hataları El İle Düzeltme
- Adım I: Dosyanın İçeriğini Okuyun
- Adım II: Windows Satır sonlarını kaldırın
- Adım III: İzinleri Yeni Oluşturulan Dosyaya Ayarlayın
- Adım IV: Dosyadaki Kodu Biçimlendirin
- Yöntem 2: Kodu Yeniden Yaz
- Yöntem 3: Dos2unix.exe Komutunu Kullanın
Beklenmeyen Simgenin Yanında Bash Sözdizimi Hatası Nasıl Onarılır
Linux Bash, Linux tabanlı sistem için bir komut satırı yorumlayıcısıdır ve Bourne Shell veya sh'nin yerini almıştır. Dosyalar, Linux'ta .sh formatı kullanılarak adlandırılır.
bash komut dosyası. Kabuk betiğindeki kodda biçimlendirme sorunları varsa, bir sözdizimi hatasıyla karşılaşabilirsiniz. Hata yakınsa ( karakter, kabuk sizden satırdaki hatayı isteyecek ve hatayı ilgili satırda gösterecektir. Linux Bash bir yorumlayıcı olduğundan, hatalı satır Terminal'de size döndürülecek ve komut dosyasındaki diğer komutları taramayı durduracaktır. Bu nedenle, belirli komut satırındaki hatayı düzeltmeniz ve kabuk komut dosyasındaki beklenmeyen belirteç hatasını düzeltmek için bir sonrakine geçmeniz gerekir. Linux Bash'de beklenmeyen belirteç yakınında sözdizimi hatasının nedenleri bu bölümde aşağıdaki gibi listelenmiştir:- Kaçış dizileriyle kodlama- Kodları Bash komut dosyasında yazdıysanız, komut dosyasındaki kaçış dizileri veya tırnak işaretleri hatalara neden olabilir. Hatayı düzeltmek için kaçış dizileri ve tırnak işaretleri doğru biçimde yazılmalıdır.
- Kodlama dosyasında yanlış sözdizimi- Döngülerin sırasını değiştirmek gibi komut yanlış sözdiziminde yazılırsa, koddaki sözdizimi sözdizimi hatası verebilir.
- Komutun yanlış kullanımı- Hatalı değer ataması gibi komutu doğru kullanmıyorsanız, sözdizimi hatası yaşayabilirsiniz.
- Sistemlerde uyumsuz işletim sistemi- Kodlama komut dosyasının kabuğu, Unix ve DOS sistemleri arasında uyumlu değilse, beklenmeyen bir hatayla karşılaşabilirsiniz.
- bash kabuk betiğindeki sorunlar- Başka bir sistemden kopyalanan dosyadaki bash kabuk betiğinde çalışan sorunlar, beklenmeyen belirteç hatası verebilir.
adlı bir dosya düşünün örnek.sh açıklayıcı amaçlar için aşağıdaki komut satırlarıyla Linux Bash komut dosyasında oluşturulmuştur. Örnek dosya, sözdizimi hataları olasılığına sahiptir ve kabuk komut dosyasında kullanılabilecek tüm olası komutları içerir.
str= 'Komut dosyasındaki '(örnek dosya)'nın ilk komut satırı'str= [(1,2),(3,4)]if[ $gün == “pzt” ] o zaman yankı "mon"başka yankı "hayır mon"fi{0..2} içindeki DEĞİŞKEN için; sonrayankı komutu1 yap; yankı komutu2; yankı komutu3; yankı komutu4; tamamlamakdoğru iken; do if [ $ gün == “pzt” ]; sonra “mon” yankısı yapın; else "mon değil" yankısı; tamamlamak; fi
Yöntem 1: Her Komut Satırındaki Hataları El İle Düzeltme
Hataları düzeltmenin ilk yöntemi, komut dosyasındaki her komut satırında sözdizimi hatasını manuel olarak düzeltmektir. Komut satırlarında beklenmeyen belirteçlere yakın sözdizimi hatalarını çözme adımları bu bölümde tartışılmaktadır. Terminalde beklenmeyen belirteç hatasını düzeltme işlemi aşağıda açıklanmıştır. içindeki dosyayı çalıştırın terminal yazarak ./example.sh komutuna basın ve Girmekanahtar.
2. not edin çizgiler aşağıdaki sonuçtaki komut satırlarında beklenmeyen belirteç hatası olan.
3. hatayı düzelt aşağıda tartışılan yöntemleri ayrı ayrı takip ederek her satırda ve tasarruf dosya.
4. Koşmak değişikliklerden sonra dosyayı tekrar açın ve sözdizimi hatasının dosyada çözülüp çözülmediğini kontrol edin.
Ayrıca Okuyun:Windows 10'da Linux Bash Shell Nasıl Kurulur
Adım I: Dosyanın İçeriğini Okuyun
Komut satırlarındaki sözdizimi hatasını çözmenin ilk adımı, dosyayı Terminal'de okumaktır. Dosyayla ilgili sorunlar varsa, dosyayı görüntüleyemeyebilirsiniz. Dosyayı görüntülemenin normal uygulaması, dosyayı şu komutu kullanarak çalıştırmaktır: ./example.sh ancak dosyadaki içeriği değiştiremezsiniz. Dosyanın içeriğini görüntüleme ve komut satırlarını beklenmedik bir simge olan '(' yakınındaki Sözdizimi hatasını düzeltmek için değiştirme seçenekleri aşağıda tartışılmıştır.
Seçenek 1: CAT Komutu ile
İlk seçenek, kedi dosyayı kabuk komut dosyasında görüntüleme komutu. Komutu yazarak cat komutunu kullanarak beklenmeyen belirteç hatası olan dosyanın içeriğini okuyun kedi –v örnek.sh Terminalde.
Not 1: bu örnek.sh açıklayıcı amaçlar için kullanılır ve beklenmeyen belirteç hatası olan dosyanın adını yazmanız gerekir.
Not 2: cat –v komutu, satır başı veya kesintisiz boşluğu temsil etmesi muhtemel tüm görünmez karakterleri görüntülemek için kullanılır.
Seçenek 2: VX Komutuyla
cat komutunu kullanamıyorsanız, aşağıda verilen adımı kullanarak dosyadaki komutları görüntülemek ve değiştirmek için vx komutunu kullanmayı deneyebilirsiniz. Yaz sh –vx ./example.sh Dosyayı açmak için Terminal'de komut.
Seçenek 3: od –a Komutuyla
3. Komut satırlarında birkaç görünmez karakter varsa, dosyayı görüntülemek için od –a komutunu kullanabilirsiniz. Dosyanın içeriği kod dosyasında görünmüyorsa, komutu kullanarak dosyayı okumayı deneyebilirsiniz. od – bir örnek.sh kodu değiştirmek için.
Adım II: Windows Satır sonlarını kaldırın
Kabuk komut dosyasında Windows satır sonları varsa, satır sonlarını kaldırmak ve hatayı düzeltmek için kod satırlarını yeni bir dosyaya kopyalamak için konsol komutlarını kullanabilirsiniz.
Dosyadaki içeriği adlı başka bir dosyaya kaydetmek için Terminal'e aşağıdaki komutu girin. düzeltilmişexample.sh komut dosyasındaki Windows satır sonlarını kaldırmak için.
tr –d '\r'düzeltilmişexample.sh
Adım III: İzinleri Yeni Oluşturulan Dosyaya Ayarlayın
Dosyanın kabukta çalıştırılabilmesi için dosyayı düzenlemek için yeni oluşturulan dosyaya izin vermeniz gerekir. komutu olarak yazın chmod 755 düzeltildiexample.sh Dosyaya izinleri sağlamak ve dosyayı çalıştırmak için Terminal'de. Artık düzeltilmiş dosyayı görüntüleyebilir ve biçimlendirme sorunlarını düzeltebilir ve dosyadaki beklenmeyen '(' simgesinin yanındaki Sözdizimi hatasını düzeltebilirsiniz.
Adım IV: Dosyadaki Kodu Biçimlendirin
İkinci adım, kod satırlarını ayrı ayrı biçimlendirmek ve komut satırlarını dosya üzerinde manuel olarak değiştirmektir. Beklenmeyen '(' simgesinin yakınındaki Sözdizimi hatasını düzeltmek için dosyayı biçimlendirme seçenekleri, bu bölümde aşağıda tartışılmaktadır.
Seçenek 1: Tek Alıntıları Çift Alıntılarla Değiştirin
Komut satırlarında tek tırnak kullanıyorsanız, sözdizimi hatasını düzeltmek için tek tırnak yerine çift tırnak işareti koyarak komutu değiştirmeniz gerekir. İçinde örnek.sh dosya, sahip kod satırlarını kaldırın ‘ ve ’ ya da tek tırnak komutta ve tek tırnakları ile değiştirin ikili alıntı ya da “ ve ’’. Burada, örnek dosyada kodu şu şekilde değiştirmeniz gerekiyor: str= “Komut dosyasındaki “\(örnek dosya)\” öğesinin ilk komut satırı”
Not: Çift tırnak işareti, aşağıdaki gibi parametre türü komutları için gereklidir: str= “[(1,2),(3,4)]”.
Ayrıca Okuyun:2022'nin En İyi 20 Hafif Linux Dağıtımı
Seçenek 2: Dize Satırlarına $ Ekle
Komut dosyasına dize değerleri eklediyseniz, komut dosyasındaki sözdizimi hatasını düzeltmek için dize değerlerine bir $ eklemeniz gerekir. Ekle $ ile komut satırları için sicim beklenmeyen hatayı düzeltmek için değerler. Burada, örnek dosyada komut satırını şu şekilde değiştirin;
str= $ 'Komut dosyasındaki '\(örnek dosya)\' öğesinin ilk komut satırı'
Not: kullanıyorsanız $ dize değerinde, komut satırlarının kodu ANSI C standardı tarafından çözüldüğü için ters eğik çizgi kaçış dizisini atlayabilirsiniz. Diğer bir deyişle, dize değeri için $ kullanarak komut satırlarında tek tırnak yerine çift tırnak kullanmaktan kaçınabilirsiniz.
Seçenek 3: Sekmeleri Boşluklara Dönüştür
Komut dosyasındaki sözdizimi hatasını düzeltmek için komutta iki ifade arasında bıraktığınız boşluklar sekmeler yerine boşluklar olmalıdır. Cygwin'de hata alıyorsanız, hatayı düzeltmek için kodlardaki sekmeleri boşluklara dönüştürmeyi deneyebilirsiniz. Komut satırı aşağıda verilmiştir;
yankı komutu1 yap; yankı komutu2; yankı komutu3; yankı komutu4; tamamlamak
Hatayı düzeltmek için yukarıdaki komut aşağıda gösterildiği gibi yeniden yazılmalıdır.
yankı komutu1 yap; yankı komutu2; yankı komutu3; yankı komutu4; tamamlamak
Seçenek 4: Kaçış Karakterlerini Kullan
Bash karakteri kullanıyorsanız, sözdizimi hatasını düzeltmek için bash karakteriyle birlikte bir kaçış karakteri kullanmak önemlidir. bu parantez veya () dosyadaki bash özel karakterleridir, bu nedenle kaçış karakterini veya ters eğik çizgi Komut satırında normal karakterlerden kaçmak için komutu yürütmek için. bu str= 'Komut dosyasındaki \'(örnek dosya)\' öğesinin ilk komut satırı' komut, kaçış karakteri kullanıldığından Terminal'de hata vermez.
Ayrıca Okuyun: Linux'ta Aramıza Nasıl Girilir?
Seçenek 5: Karakterler arasında boşluk kullanın
Kabuk betiği, betikteki komutları ve deyimleri varsayılan değerlerle tanır. Kabuğun komut dosyasında verilen komutu tanımlayabilmesi için karakterler arasındaki boşluğun uygun şekilde kullanılmasını sağlamanız gerekir. Boşluk, komut satırındaki iki karakteri ayırt etmek için kullanılan bir karakterdir. Kodda, arasında boşluk yok eğer ve [olarak beklenmeyen belirteç hatası veren eğer[ komut kabuk tarafından tanımlanmadı. kod olarak değiştirilirse if [ $ gün == “pzt” ]; daha sonra hata kabuk bülten komutu olarak çözülebilir eğer kabuk tarafından tanımlanır.
Seçenek 6: İfadeler için Komut Ayırıcıyı Kullan
Kabuk betiğindeki çeşitli komutların, Terminal'in ayrı komutları tanımlaması için ifadelere ayrılması gerekir. Linux Bash'deki sözdizimi hatasını düzeltmek için bir komut ayırıcı kullanmanız gerekir. Komuttaki ifadelerin noktalı virgül veya ; veya tuşuna basarak yeni bir satır Girmek anahtar. Örneğin, koddaki komut eğer [ $ gün == “pzt” ] ise olarak değiştirilmelidir if [ $ gün == “pzt” ]; sonra hatayı düzeltmek için. Noktalı virgül, karakterler arasında komut ayırıcı olarak kullanıldığından [ ve sonra, bu hatayı düzeltebilirsiniz.
Seçenek 7: Ek İfadeleri Kaldırma
Bazen, birden fazla iç içe döngü olması durumunda ek ifadeler eklemiş veya kodları karıştırmış olabilirsiniz. Linux Bash'te beklenmeyen '(' simgesinin yanındaki Sözdizimi hatasını düzeltmek için komut satırlarındaki ek ifadeleri kaldırmanız gerekir. bash döngüleri için… bitti veya ve yapısal yapılar eğer… fi doğru sözdiziminde olması gerekir. Örnek dosyada yanlış sözdizimi var için döngü terimi vardır sonra hangisinde kullanılır eğer Beyan. Kodu aşağıdaki kod olarak değiştirmek, beklenmeyen belirteç hatasını düzeltecektir. İfade sonra kodda ek bir ifadedir ve terimin kaldırılması hatayı düzeltecektir.
{0..2} içindeki DEĞİŞKEN için; yankı komutu1 yap; yankı komutu2; yankı komutu3; yankı komutu4; tamamlamak
Seçenek 8: Ekstrelerin Kapanış Sırasının Doğru Olduğundan Emin Olun
Kabuk betiğinde çok sayıda iç içe veya koşullu yapı ifadesi kullanıyorsanız, döngülerin açıldıkları sırada kapalı olduklarından emin olmalısınız. Döngülerle çakışmaları önlemek için yeni bir satır ayırıcı kullanabilirsiniz. İç içe döngülerin ve koşullu ifadelerin kapanma sırası doğru olmalı ve değiştirilmemelidir. Koddaki döngüler doğru iken; do if [ $ gün == “pzt” ]; sonra “mon” yankısı yapın; else "mon değil" yankısı; tamamlamak; fi doğru sırayla kapatılmalıdır. Kodu aşağıda gösterildiği gibi değiştirmek, ifadelerin kapanış sırası düzeltildiğinden beklenmeyen belirteç hatasını düzeltebilir.
doğru iken; do if [ $ gün == “pzt” ]; sonra “mon” yankısı yapın; else "mon değil" yankısı; fi; tamamlamak
Ayrıca Okuyun:Komut Satırı Yorumlayıcısı nedir?
Yöntem 2: Kodu Yeniden Yaz
Kodu kopyalayıp Terminal'deki yeni bir dosyaya yapıştırdıysanız, hatayı düzeltmek için kodu manuel olarak yeniden yazmayı deneyebilirsiniz. Kodu kabuk komut dosyasında herhangi bir biçim hatası olmadan yazdıysanız, koddaki hatalar düzeltilebilir. Bunun nedeni, Microsoft Word gibi metin düzenleyicideki gizli karakterler ve biçimlendirme sorunları, kodu kopyalayıp yapıştırmak için kullanmış olabileceğiniz hata vermiş olabilir.
Yöntem 3: Dos2unix.exe Komutunu Kullanın
Unix İşletim Sistemi kullanıyorsanız, satır besleme karakteri ile kodları şu şekilde yazabilirsiniz: \n dosyada bir sonraki satıra geçmek için Ancak, bir Windows işletim sistemi kullanıyorsanız, satır başı ve satır beslemeyi kullanarak kodda bir sonraki satıra geçmeniz gerekir veya \r\n dosyanın içinde. Windows işletim sisteminde yazılan kodu Cygwin'de çalıştırırsanız, beklenmeyen belirteç '(' yakınında Sözdizimi hatası alabilirsiniz.
Hatayı düzeltmek için, satır başı karakterlerini şu komutu kullanarak temizlemeniz gerekir: DOS'tan Unix'e dönüştürücü bir metin dosyası biçimi dönüştürücü olarak komut satırı aracı. olarak aşağıdaki komutu yazın dos2unix.exe örnek.sh Terminal'de ve dosyayı Unix formatına dönüştürebilirsiniz.
Önerilen:
- Android'de Telegram Hesabı Nasıl Oluşturulur
- Windows 10'da Çalışma Zamanı Hatası C++ Düzeltme
- Github Hesabı Kalıcı Olarak Nasıl Silinir?
- Linux için En İyi 14 Grafik Kartı
Makale, düzeltmenin temel yöntemlerini tartıştı Beklenmeyen belirteç yakınında Bash sözdizimi hatası‘(’ senaryoda. Bir Linux Bash kullanıyorsanız, beklenmedik belirteç yakınındaki Bash sözdizimi hatasını düzeltmek için bu bölümde açıklanan yöntemleri kullanabilirsiniz. Makalenin tamamını okuduysanız ve içeriği faydalı bulduysanız, lütfen yorum bölümünde öneri ve sorularınızı bize bildirin.