Bagaimana Mengendalikan Nama Fail Melalui Spasi di Bash

Linux mempunyai shell lalai Bash (aka Bourne lagi shell) untuk melaksanakan arahan untuk sistem. Kebanyakan pengaturcara lebih suka bash ke atas cmd kerana fleksibiliti dan penterjemah baris arahan yang kuat yang disediakan oleh bash. Walau bagaimanapun, kebanyakan pengguna masih mempunyai masalah semasa cuba mengendalikan nama fail lulus dengan ruang dalam bash. Ini kerana ruang tidak dianggap sama dalam bash kerana ia berada dalam nama fail.

Fail dengan ruang pada nama

Mengapa Nama fail dengan Spaces tidak Diiktiraf oleh Bash?

Dalam Bash, jika anda menaip pelbagai perkataan tanpa melarikan watak (\) atau sebut harga, ia akan mempertimbangkan semua perkataan sebagai argumen. Itu terpakai untuk semua operasi, sama ada anda mengubah direktori dengan ' cd ' atau cuba mengakses fail dengan ' cat ' perintah. Apa-apa sahaja yang anda tulis selepas menggunakannya akan dianggap sebagai hujah. Sebagai contoh:

 nama fail fail kucing 

Menjalankan arahan tanpa menggunakan aksara melarikan diri atau sebut harga

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

Di sini ' kucing ' arahan akan mempertimbangkan fail dan nama sebagai dua hujah dan bukan satu hujah tunggal. Walau bagaimanapun, jika anda menggunakan aksara melarikan diri atau sebutan maka bash shell akan menganggap bahawa sebagai hujah tunggal, yang akan menjadi " nama.txt file ".

Nama fail dengan Spaces di Bash

Terdapat beberapa kaedah yang boleh digunakan untuk ruang dalam nama. Amalan terbaik adalah mengelakkan ruang untuk nama fail pada masa akan datang. Kaedah mudah ialah menamakan semula fail yang anda cuba akses dan alih keluar ruang. Beberapa kaedah lain menggunakan petikan tunggal atau berganda pada nama fail dengan ruang atau menggunakan simbol melarikan diri (\) tepat sebelum ruang. Kami akan menyediakan kaedah dengan contoh yang digunakan untuk menunjukkan kepada anda bagaimana ia berfungsi.

Kaedah 1: Menggunakan Sebutharga Single dan Double

  1. Pegang kekunci Ctrl + Alt dan Tekan T untuk membuka Terminal .
  2. Sekarang tukar direktori ke mana fail terletak.

    (anda juga boleh seret dan lepaskan fail di terminal selepas ' cat ' perintah, yang secara automatik akan meletakkan petikan pada path file / directory)

     cd Desktop 

    Menukar direktori

    Nota : Desktop boleh ditukar ke lokasi yang anda cuba akses.

  3. Taip arahan berikut untuk membaca fail teks dengan ruang pada nama:
     kucing 'nama.txt file' 

    atau

     kucing "nama.txt fail" 

    Menggunakan petikan untuk mengelakkan ruang dalam kesilapan nama
  4. Petikan tunggal dan berganda akan menghasilkan yang sama. Dalam beberapa kes, anda perlu mencuba kedua-dua dan melihat mana yang berfungsi.

Kaedah 2: Menggunakan Watak melarikan diri Backlash

  1. Pegang kekunci Ctrl + Alt dan Tekan T untuk membuka Terminal .
  2. Tukar direktori ke lokasi fail tersebut dengan menggunakan arahan berikut.
     cd Desktop 

    Nota : Masukkan nama lokasi anda sebagai ganti Desktop.

  3. Sekarang taipkan arahan dan gunakan watak melarikan diri di mana sahaja terdapat ruang pada nama:
     fail kucing \ name.txt 

    Menggunakan watak melarikan diri untuk mengelakkan ralat ruang

Bonus: Penggunaan Sebut Harga dan melarikan diri

Kadangkala apabila anda menggunakan direktori dalam arahan itu, mungkin terdapat akibat untuk menggunakan petikan pada laluan keseluruhan. Ini kerana beberapa arahan seperti ' mv ' atau ' cp ' akan mempertimbangkan jalan sebagai sumber fail jika sebut harga digunakan secara keseluruhan. Anda perlu memberikan petikan untuk kedua-dua sumber dan destinasi secara individu supaya perintah seperti ' cp ' dapat berfungsi dengan baik. Anda juga boleh menyemak contoh di bawah yang akan menunjukkan kepada anda bahawa menggunakan karakter melarikan diri untuk laluan jauh lebih rumit dan pengguna boleh membuat kesilapan dengannya.

Perbezaan antara petikan dan karakter melarikan diri

Artikel Yang Menarik