Cara Memperbaiki Kesalahan Sintaks Bash Dekat Token Tak Terduga
Linux Bash adalah juru bahasa baris perintah untuk sistem berbasis Linux dan merupakan pengganti Bourne Shell atau sh. File-file tersebut diberi nama menggunakan format .sh dalam skrip Linux Bash. Jika ada masalah pemformatan dalam kode di skrip shell, Anda mungkin menghadapi kesalahan sintaksis. Jika kesalahannya dekat dengan ( karakter, shell akan meminta Anda untuk kesalahan di baris dan akan menampilkan kesalahan di baris yang sesuai. Karena Linux Bash adalah juru bahasa, baris dengan kesalahan akan dikembalikan kepada Anda di Terminal dan itu akan berhenti memindai sisa perintah dalam skrip. Oleh karena itu, Anda perlu memperbaiki kesalahan di baris perintah tertentu dan melanjutkan ke baris berikutnya untuk memperbaiki kesalahan token yang tidak terduga di skrip shell. kesalahan dekat token tak terduga di Linux Bash tercantum di bawah di bagian ini seperti di bawah ini:
- Pengkodean dengan urutan escape- Jika Anda telah menulis kode dalam skrip Bash, urutan escape atau tanda kutip dalam skrip dapat menyebabkan kesalahan. Urutan escape dan tanda kutip harus ditulis dalam format yang benar untuk memperbaiki kesalahan.
- Sintaks yang salah dalam file pengkodean- Sintaks dalam kode dapat memberikan kesalahan sintaks jika perintah ditulis dalam sintaks yang salah seperti mengubah urutan loop.
- Penggunaan perintah yang salah- Jika Anda tidak menggunakan perintah dengan benar seperti penetapan nilai yang salah, Anda mungkin mengalami kesalahan sintaksis.
- OS yang tidak kompatibel di sistem- Jika shell untuk skrip pengkodean tidak kompatibel antara sistem Unix dan DOS, Anda mungkin mengalami kesalahan yang tidak terduga.
- Masalah dalam skrip bash shell- Masalah yang berjalan di skrip bash shell pada file yang disalin dari sistem lain dapat memberikan kesalahan token yang tidak terduga.
Pertimbangkan file bernama example.sh yang dibuat dalam skrip Linux Bash dengan baris perintah berikut untuk tujuan penjelasan. File contoh memiliki kemungkinan kesalahan sintaksis dan mencakup semua kemungkinan perintah yang dapat digunakan dalam skrip shell.
str= ‘Baris perintah pertama dari ‘(file contoh)’ dalam skrip’ str= [(1,2),(3,4)] if[ $hari == “mon” ] lalu gema “mon” kalau tidak gema “tidak mon” fi untuk VARIABEL di {0..2}; Kemudian lakukan gema perintah1; gema perintah2; gema perintah3; gema perintah4; Selesai sementara benar; do if [ $ hari == “mon” ]; lalu gema “mon”; selain itu gema “bukan mon”; Selesai; fi
Metode 1: Perbaiki Kesalahan Secara Manual di Setiap Baris Perintah
Metode pertama untuk memperbaiki kesalahan adalah memperbaiki kesalahan sintaksis secara manual di setiap baris perintah dalam skrip. Langkah-langkah untuk mengatasi kesalahan sintaksis di dekat token tak terduga di baris perintah dibahas di bagian ini. Proses untuk memperbaiki kesalahan token yang tidak terduga di Terminal dijelaskan di bawah ini. Jalankan file di Terminal dengan mengetikkan perintah ./example.sh dan menekan Enter kunci .
- Perhatikan baris yang memiliki kesalahan token tak terduga di baris perintah pada hasil di bawah ini.
- Perbaiki kesalahan di setiap baris dengan mengikuti metode yang dibahas di bawah satu per satu dan simpan file.
- Jalankan kembali file setelah perubahan dan periksa apakah kesalahan sintaks pada file telah teratasi.
Langkah I: Baca Konten File
Langkah pertama untuk mengatasi kesalahan sintaks pada baris perintah adalah membaca file di Terminal. JIKA ada masalah dengan file tersebut, Anda mungkin tidak dapat melihat file tersebut. Praktik biasa untuk melihat file adalah menjalankan file menggunakan perintah ./example.sh tetapi Anda tidak dapat mengubah konten pada file. Opsi untuk melihat konten file dan mengubah baris perintah untuk memperbaiki kesalahan Sintaks di dekat token tak terduga ‘(‘ dibahas di bawah.
Opsi 1: Melalui Perintah CAT
Opsi pertama adalah menggunakan perintah cat untuk melihat file di skrip shell. Baca konten file dengan kesalahan token yang tidak terduga menggunakan perintah cat dengan mengetikkan perintah cat –v example.sh di Terminal.
Catatan 1: Contoh.sh digunakan untuk tujuan penjelasan dan Anda perlu mengetikkan nama file yang memiliki kesalahan token yang tidak terduga .
Catatan 2: Perintah cat –v digunakan untuk menampilkan semua karakter tak terlihat yang mungkin mewakili carriage return atau no-break space.
Opsi 2: Melalui Perintah VX
Jika Anda tidak dapat menggunakan perintah cat, Anda dapat mencoba menggunakan perintah vx untuk melihat dan mengubah perintah pada file menggunakan langkah yang diberikan di bawah ini. Ketik perintah sh –vx ./example.sh di Terminal untuk membuka file.
Opsi 3: Melalui od –a Perintah
- Jika ada beberapa karakter yang tidak terlihat di baris perintah, Anda dapat menggunakan perintah od –a untuk melihat file. Jika konten file tidak terlihat di file kode, Anda dapat mencoba membaca file menggunakan perintah od –a example.sh untuk mengubah kode.
Langkah II: Hapus jeda Windows Line
Jika ada jeda baris Windows di skrip shell, Anda dapat menggunakan perintah konsol untuk menghapus jeda baris dan menyalin baris kode ke file baru untuk memperbaiki kesalahan.
Masukkan perintah berikut di Terminal untuk menyimpan konten dalam file ke file lain bernama correctedexample.sh untuk menghapus jeda baris Windows dalam skrip.
tr –d ‘r’ <contoh.sh> dikoreksicontoh.sh
Langkah III: Tetapkan Izin ke File yang Bar
u Dibuat
Anda perlu mengatur izin ke file yang baru dibuat untuk mengedit file sehingga file tersebut dapat dieksekusi di shell. Ketik perintah sebagai chmod 755 correctedexample.sh di Terminal untuk memberikan izin ke file dan menjalankan file. Anda sekarang dapat melihat file yang diperbaiki dan memperbaiki masalah pemformatan dan memperbaiki kesalahan Sintaks di dekat token ‘(‘ yang tidak diharapkan dalam file.
Langkah IV: Format Kode di File
Langkah kedua adalah memformat baris kode satu per satu dan mengubah baris perintah secara manual pada file. Opsi untuk memformat file untuk memperbaiki kesalahan Sintaks dekat token tak terduga ‘(‘ dibahas di bawah di bagian ini.
Opsi 1: Ganti Kutipan Tunggal dengan Kutipan Ganda
Jika Anda menggunakan tanda kutip tunggal di baris perintah, Anda perlu mengubah perintah dengan mengganti tanda kutip tunggal dengan tanda kutip ganda untuk memperbaiki kesalahan sintaks. Di file example.sh , hapus baris kode yang memiliki ‘ dan ‘ atau tanda kutip tunggal dalam perintah, dan ganti tanda kutip tunggal dengan tanda kutip ganda atau tanda “ dan ” . Di sini, di file contoh, Anda perlu mengubah kode sebagai str= “Baris perintah pertama dari “(file contoh)” dalam skrip”
Catatan: Tanda kutip ganda diperlukan untuk perintah tipe parameter seperti str= “[(1,2),(3,4)]” .
Opsi 2: Tambahkan $ ke Baris String
Jika Anda telah menambahkan nilai string ke skrip, Anda perlu menambahkan $ ke nilai string untuk memperbaiki kesalahan sintaks pada skrip. Tambahkan $ untuk baris perintah dengan nilai string untuk memperbaiki kesalahan yang tidak terduga. Di sini, di file contoh, ubah baris perintah sebagai;
str= $ ‘Baris perintah pertama dari ‘(file contoh)’ dalam skrip’
Catatan: Jika Anda menggunakan $ dalam nilai string, Anda dapat melewati urutan escape backslash karena baris perintah didekodekan oleh standar ANSI C. Dengan kata lain, dengan menggunakan $ untuk nilai string, Anda dapat menghindari penggunaan tanda kutip ganda daripada tanda kutip tunggal di baris perintah.
Opsi 3: Konversikan Tab ke Spasi
Spasi yang Anda tinggalkan di antara dua pernyataan dalam perintah harus berupa spasi, bukan tab untuk memperbaiki kesalahan sintaksis dalam skrip. Jika Anda mendapatkan kesalahan pada Cygwin, Anda dapat mencoba mengonversi tab di kode menjadi spasi untuk memperbaiki kesalahan tersebut. Baris perintah diberikan di bawah ini sebagai;
lakukan gema perintah1; gema perintah2; gema perintah3; gema perintah4; Selesai
Perintah di atas harus ditulis ulang seperti yang ditunjukkan di bawah ini untuk memperbaiki kesalahan.
lakukan gema perintah1; gema perintah2; gema perintah3; gema perintah4; Selesai
Opsi 4: Gunakan Karakter Escape
Jika Anda menggunakan karakter bash, penting untuk menggunakan karakter escape bersama dengan karakter bash untuk memperbaiki kesalahan sintaks. Tanda kurung atau () adalah karakter khusus bash dalam file, oleh karena itu, Anda perlu menggunakan karakter escape atau garis miring terbalik di baris perintah untuk keluar dari karakter normal untuk menjalankan perintah. str = ‘Baris perintah pertama ‘(file contoh)’ dalam perintah skrip’ tidak akan memberikan kesalahan di Terminal karena karakter escape digunakan.
Opsi 5: Gunakan spasi antar karakter
Skrip shell mengenali perintah dan pernyataan dalam skrip dengan nilai default. Anda perlu memastikan penggunaan ruang antar karakter yang tepat sehingga shell dapat mengidentifikasi perintah yang diberikan dalam skrip. Spasi adalah karakter yang digunakan untuk membedakan dua karakter di baris perintah. Dalam kode, tidak ada spasi antara if dan [ , yang memberikan kesalahan token yang tidak terduga karena perintah if[ tidak diidentifikasi oleh shell. Jika kode diubah menjadi if [ $day == “mon” ]; maka kesalahan dapat diselesaikan sebagai perintah buletin shell jika diidentifikasi oleh shell.
Opsi 6: Gunakan Pemisah Perintah untuk Pernyataan
Berbagai perintah dalam skrip shell perlu dipisahkan menjadi pernyataan agar Terminal dapat mengidentifikasi perintah individu. Anda perlu menggunakan pemisah perintah untuk memperbaiki kesalahan sintaks di Linux Bash. Pernyataan dalam perintah harus dipisahkan oleh pemisah perintah seperti titik koma atau ; atau baris baru dengan menekan tombol Enter . Misalnya, perintah dalam kode if [ $ day == “mon” ] kemudian harus diubah seolah-olah [ $ day == “mon” ]; kemudian untuk memperbaiki kesalahan. Karena titik koma digunakan sebagai pemisah perintah antara karakter [ dan kemudian , Anda dapat memperbaiki kesalahan ini.
Opsi 7: Hapus Pernyataan Tambahan
Kadang-kadang, Anda mungkin telah menambahkan pernyataan tambahan atau mungkin telah mencampuradukkan kode jika terjadi banyak loop bersarang. Anda perlu menghapus pernyataan tambahan pada baris perintah untuk memperbaiki kesalahan Sintaks di dekat token ‘(‘ yang tidak terduga di Linux Bash. Bash loop for…done or and the constructional constructs if… fi perlu berada dalam sintaks yang benar. The file contoh memiliki sintaks yang salah di for loop memiliki istilah kemudian yang digunakan dalam pernyataan if . Memodifikasi kode sebagai kode berikut akan memperbaiki kesalahan token yang tidak terduga. Pernyataan tersebut kemudian merupakan pernyataan tambahan dalam kode dan menghapus istilah tersebut akan memperbaiki kesalahan.
untuk VARIABEL di {0..2}; lakukan gema perintah1; gema perintah2; gema perintah3; gema perintah4; Selesai
Opsi 8: Pastikan Urutan Penutupan Pernyataan Benar
Jika Anda menggunakan banyak pernyataan konstruksi bersarang atau bersyarat dalam skrip shell, Anda harus memastikan bahwa loop ditutup sesuai urutan pembukaannya. Anda dapat menggunakan pemisah baris baru untuk menghindari konflik dengan loop. Urutan penutupan perulangan bersarang dan pernyataan kondisional harus benar dan tidak boleh diubah. Loop dalam kode sementara benar; do if [ $ hari == “mon” ]; lalu gema “mon”; selain itu gema “bukan mon”; Selesai; fi perlu ditutup dalam urutan yang benar. Mengubah kode seperti yang ditunjukkan di bawah ini dapat memperbaiki kesalahan token yang tidak terduga karena urutan penutupan pernyataan diperbaiki.
sementara benar; do if [ $ hari == “mon” ]; lalu gema “mon”; selain itu gema “bukan mon”; fi; Selesai
Metode 2: Tulis Ulang Kode
Jika Anda telah menyalin kode dan menempelkannya ke file baru di Terminal, Anda dapat mencoba menulis ulang kode secara manual untuk memperbaiki kesalahan tersebut. Kesalahan dalam kode dapat diperbaiki jika Anda telah menulis kode tanpa ada kesalahan format dalam skrip shell. Ini karena karakter tersembunyi dan masalah pemformatan di editor teks seperti Microsoft Word, yang mungkin Anda gunakan untuk menyalin dan menempelkan kode mungkin telah menyebabkan kesalahan.
Metode 3: Gunakan Perintah Dos2unix.exe
Jika Anda menggunakan Sistem Operasi Unix, Anda dapat menulis kode dengan karakter umpan baris sebagai n untuk berpindah ke baris berikutnya dalam file. Namun, jika Anda menggunakan OS Windows, Anda harus pindah ke baris berikutnya dalam kode menggunakan carriage return dan line feed atau rn dalam file. Jika Anda menjalankan kode yang ditulis di OS Windows di Cygwin, Anda mungkin mendapatkan kesalahan Sintaks di dekat token ‘(‘ yang tidak terduga.
Untuk memperbaiki kesalahan, Anda perlu menghapus karakter carriage return menggunakan alat baris perintah DOS ke Unix sebagai konverter format file teks. Ketik perintah berikut sebagai dos2unix.exe example.sh di Terminal dan Anda dapat mengonversi file ke format Unix.
Direkomendasikan:
- Cara Membuat Akun Telegram di Android
- Perbaiki Runtime Error C++ di Windows 10
- Cara Menghapus Akun Github Secara Permanen
- 14 Kartu Grafis Terbaik untuk Linux
Artikel tersebut telah membahas metode dasar untuk memperbaiki kesalahan sintaksis Bash di dekat token yang tidak terduga ‘(‘ dalam skrip. Jika Anda menggunakan Bash Linux, Anda dapat menggunakan metode yang dijelaskan di bagian ini untuk memperbaiki kesalahan sintaksis Bash di dekat token yang tidak terduga. Jika Anda telah membaca seluruh artikel dan merasa kontennya bermanfaat, beri tahu kami tahu saran dan pertanyaan Anda di bagian komentar.