Cara Mengendalikan Nama Fail yang Lulus dengan Spaces di Bash



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Linux mempunyai shell shell default (alias Bourne lagi shell) untuk melaksanakan perintah untuk sistem. Sebilangan besar pengaturcara lebih suka bash berbanding cmd kerana fleksibiliti dan jurubahasa baris perintah yang kuat yang disediakan oleh bash. Walau bagaimanapun, kebanyakan pengguna masih akan menghadapi masalah ketika cuba menangani nama fail yang berlalu dengan spasi dalam bash. Ini kerana spasi tidak dianggap sama dalam bash seperti pada nama fail.



Fail dengan ruang dalam nama



Mengapa Nama Fail dengan Spaces tidak dikenali oleh Bash?

Dalam Bash, jika anda menaip banyak perkataan tanpa melarikan diri watak () atau petikan , ia akan menganggap semua perkataan sebagai hujah. Itu berlaku untuk semua operasi, sama ada anda menukar direktori dengan ‘ CD 'Atau cuba mengakses fail dengan' kucing 'Perintah. Apa sahaja yang anda tulis setelah menggunakannya akan dianggap sebagai hujah. Sebagai contoh:



nama fail kucing.txt

Menjalankan perintah tanpa menggunakan watak pelarian atau petikan

Catatan : Nama fail anda boleh jadi apa-apa tetapi untuk artikel ini, kami akan menggunakan ' nama fail.txt ' sebagai contoh.

Di sini ' kucing Perintah akan dipertimbangkan fail dan nama sebagai dua hujah dan bukannya satu hujah. Namun, jika anda menggunakan karakter pelarian atau petikan maka bash shell akan menganggapnya sebagai satu argumen, yang akan menjadi “ nama fail.txt '.



Nama fail dengan Spaces di Bash

Terdapat beberapa kaedah yang boleh digunakan untuk ruang pada nama. Amalan terbaik adalah mengelakkan ruang untuk nama fail pada masa akan datang. Kaedah mudah adalah dengan menamakan semula fail yang anda cuba akses dan keluarkan ruang. Beberapa kaedah lain adalah menggunakan petikan tunggal atau berganda pada nama fail dengan spasi atau menggunakan simbol pelarian () tepat sebelum ruang. Kami akan memberikan kaedah dengan contoh yang diterapkan untuk menunjukkan cara kerjanya.

Kaedah 1: Menggunakan Petikan Tunggal dan Berganda

  1. Tahan Ctrl + Alt kekunci dan Tekan T untuk membuka Terminal .
  2. Sekarang ubah direktori ke tempat fail berada.
    (anda juga boleh seret dan jatuh fail di terminal selepas arahan ' kucing ', Yang secara automatik akan meletakkan petikan pada jalur / direktori fail)

    cd Desktop

    Menukar direktori

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

  3. Ketik perintah berikut untuk membaca fail teks dengan spasi dalam nama:
    kucing 'nama fail.txt'

    atau

    kucing 'nama fail.txt'

    Menggunakan petikan untuk mengelakkan ruang dalam kesalahan nama

  4. Petikan tunggal dan berganda akan menghasilkan yang sama. Dalam beberapa kes, anda perlu mencuba kedua-duanya dan melihat mana yang sesuai.

Kaedah 2: Menggunakan watak Backlash Escape

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

    Catatan : Letakkan nama lokasi anda di tempat Desktop.

  3. Sekarang ketik perintah dan gunakan melarikan diri watak di mana sahaja terdapat ruang dalam nama:
    fail kucing  name.txt

    Menggunakan watak melarikan diri untuk mengelakkan kesalahan ruang

Bonus: Penggunaan Sebutharga dan Melarikan diri

Kadang kala ketika anda menggunakan direktori dalam perintah, ada akibatnya menggunakan kutipan pada keseluruhan jalan. Ini kerana beberapa arahan seperti ‘ mv 'Atau' cp 'Akan menganggap jalan sebagai sumber fail sekiranya petikan digunakan secara keseluruhan. Anda perlu memberikan sebut harga untuk kedua-duanya sumber dan destinasi secara individu sehingga perintah seperti ‘ cp ‘Dapat berfungsi dengan baik. Anda juga boleh melihat contoh di bawah yang akan menunjukkan kepada anda bahawa menggunakan watak melarikan diri untuk jalan jauh lebih kompleks dan pengguna boleh melakukan kesalahan dengannya.

Perbezaan antara petikan dan watak pelarian

2 minit membaca