Cara Menangani Passing Filenames dengan Spaces di Bash

Linux memiliki shell default Bash (alias Bourne lagi shell) untuk mengeksekusi perintah untuk sistem. Kebanyakan programmer lebih suka bash over cmd karena fleksibilitas dan juru bahasa command line yang kuat yang disediakan bash. Namun, sebagian besar pengguna masih akan mengalami masalah saat mencoba menangani nama file lewat dengan spasi di bash. Ini karena spasi tidak dianggap sama dengan bash seperti pada nama file.

File dengan spasi di namanya

Mengapa Nama File dengan Spaces tidak Diakui oleh Bash?

Di Bash, jika Anda mengetik beberapa kata tanpa karakter escape (\) atau kutipan, itu akan menganggap semua kata sebagai argumen. Itu berlaku untuk semua operasi, apakah Anda mengubah direktori dengan ' cd ' atau mencoba mengakses file dengan perintah ' cat '. Apa pun yang Anda tulis setelah menggunakan ini akan dianggap sebagai argumen. Sebagai contoh:

 nama file cat.txt 

Menjalankan perintah tanpa menggunakan karakter atau kutipan

Catatan : Nama file Anda bisa apa saja kecuali untuk artikel ini, kami akan menggunakan " file name.txt " sebagai contoh.

Di sini, perintah ' cat ' akan mempertimbangkan file dan nama sebagai dua argumen daripada satu argumen. Namun, jika Anda menggunakan karakter escape atau kutipan maka bash shell akan menganggapnya sebagai argumen tunggal, yang akan menjadi " file name.txt ".

Nama file dengan Spaces di Bash

Ada beberapa metode yang dapat digunakan untuk spasi dalam nama. Praktik terbaik adalah menghindari spasi untuk nama file di masa depan. Metode sederhana adalah mengubah nama file yang Anda coba akses dan hapus spasi. Beberapa metode lain menggunakan kutipan tunggal atau ganda pada nama file dengan spasi atau menggunakan simbol escape (\) tepat sebelum spasi. Kami akan memberikan metode dengan contoh-contoh terapan untuk menunjukkan kepada Anda cara kerjanya.

Metode 1: Menggunakan Kutipan Tunggal dan Ganda

  1. Tahan tombol Ctrl + Alt dan Tekan T untuk membuka Terminal .
  2. Sekarang ganti direktori ke tempat file itu berada.

    (Anda juga dapat menarik dan melepas file di terminal setelah perintah ' cat ', yang secara otomatis akan menempatkan kutipan pada path file / direktori)

     cd Desktop 

    Mengubah direktori

    Catatan : Desktop dapat diubah ke lokasi yang Anda coba akses.

  3. Ketik perintah berikut untuk membaca file teks dengan spasi di namanya:
     cat 'file name.txt' 

    atau

     cat "file name.txt" 

    Menggunakan kutipan untuk menghindari spasi dalam kesalahan nama
  4. Kutipan tunggal dan ganda akan menghasilkan hal yang sama. Dalam beberapa kasus, Anda perlu mencoba keduanya dan melihat mana yang berfungsi.

Metode 2: Menggunakan Karakter Backlash Escape

  1. Tahan tombol Ctrl + Alt dan Tekan T untuk membuka Terminal .
  2. Ubah direktori ke tempat file berada dengan menggunakan perintah berikut.
     cd Desktop 

    Catatan : Masukkan nama lokasi Anda di tempat Desktop.

  3. Sekarang ketik perintah dan gunakan karakter escape di mana saja ada ruang dalam nama:
     file cat \ name.txt 

    Menggunakan karakter pelarian untuk menghindari kesalahan spasi

Bonus: Penggunaan Kutipan dan Kabur

Kadang-kadang ketika Anda menggunakan direktori dalam perintah, bisa ada konsekuensi untuk menggunakan kutipan di jalur keseluruhan. Ini karena beberapa perintah seperti ' mv ' atau ' cp ' akan menganggap path sebagai sumber file jika kutipan digunakan secara keseluruhan. Anda perlu memberikan penawaran untuk sumber dan tujuan secara terpisah sehingga perintah seperti ' cp ' dapat berfungsi dengan baik. Anda juga dapat memeriksa contoh di bawah ini yang akan menunjukkan kepada Anda bahwa menggunakan karakter escape untuk path jauh lebih kompleks dan pengguna dapat membuat kesalahan dengan itu.

Perbedaan antara kutipan dan karakter escape

Artikel Menarik