Pertanyaan menggunakan '&' dalam nama direktori [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

saya punya nama direktori dengan ISO & Emulator memiliki beberapa File Penting. dan direktori ini berada di partisi yang berbeda, dan partisi tidak muncul di FileManager (Nautilus). jadi saya me-mount partisi saya dan mengaksesnya dari terminal, tetapi saya tidak bisa masuk ke direktori karena itu nama.

ketika saya mencoba mengubah direktori:

cd ISO&Emulator

hasil:

[1] 1635
bash: Emulator: command not found
bash: cd: ISO: No such file or directory
[1]+  Exit 1

mengambil nama direktori sebagai perintah. cara apa saja untuk mengakses direktori ini dari terminal?

bagaimana cara memperbaikinya?


9
2017-10-03 19:40


asal


cd 'ISO&Emulator' - doug
Ini adalah ide yang bagus untuk menghindari (hapus jika sudah ada) karakter khusus dalam nama direktori dan nama file. Ada beberapa solusi, tetapi karakter ini dapat menyebabkan banyak masalah ekstra. - sudodus


Jawaban:


Anda harus mengutip nama file atau direktori, yang berisi karakter khusus, ketika Anda menggunakannya:

cd 'ISO&Emulator'
cd "ISO&Emulator"

Atau melarikan diri (atau mengutip) hanya karakter khusus:

cd ISO\&Emulator    
cd ISO'&'Emulator  
cd ISO"&"Emulator

Dalam banyak kasus, Anda dapat menggunakan fungsi penyelesaian otomatis:

cd ISOTab ↹

Tidak seperti tanda kutip tunggal, tanda kutip ganda berlaku ketika nama berisi variabel:

cd "$HOME/ISO&Emulator"

14
2017-10-03 19:45



Pertanyaan yang sama sini. - pa4080


Karena ini bukan sistem command-line-only dan grafis lingkungan desktop diinstal, Anda harus tahu tentang cara lain untuk menggunakan file dan direktori dari terminal yang namanya membutuhkan mengutip atau sebaliknya merogoh untuk mengetik: Seret ikon folder dari file browser Anda ke jendela terminal. Pada sistem Anda, peramban file adalah Nautilus, tetapi ini berfungsi dengan hampir semua file browser. Ini pastes path lengkap dari file atau direktori yang ikon Anda menyeretnya dengan kutipan yang benar otomatis diterapkan.

Ini bukan pengganti penuh untuk mengetahui cara mengutip nama path (atau, benar-benar, teks apa pun) sendiri menggunakan teknik Pa4080 menjelaskan, tetapi sangat berguna, dapat menghemat banyak waktu, dan jika Anda tidak nyaman dengan kapan dan bagaimana cara mengutip menggunakan \, di sebagian besar emulator terminal grafis itulah bentuk kutipan yang secara otomatis diterapkan ketika Anda melakukan ini, sehingga akan menunjukkannya kepada Anda. (Pada beberapa, '  ' digunakan.)

Kecuali Anda telah mengubahnya, shell yang Anda dapatkan ketika Anda membuka jendela terminal atau masuk ke dalam konsol virtual aku s Pesta. Tujuan mengutip dalam shell apa pun adalah untuk memberi tahu shell agar tidak memperlakukan karakter tertentu secara khusus. Anda mungkin ingin membaca 3.1.2 Mengutip dalam Bash referensi manual.

Ketika Anda mengutip secara manual, saya sarankan Anda lebih suka itu '  ' (tanda kutip tunggal), karena ini adalah cara termudah dan paling sederhana untuk mengutip lebih dari beberapa karakter teks. Jika apa yang ingin Anda kutip itu sendiri tidak mengandung 'karakter maka Anda bisa selalu melampirkan dalam tanda kutip tunggal, karena satu-satunya karakter dengan makna khusus setelah ' mulai mengutip adalah yang berikutnya ' yang berakhir dengan mengutip.


Akhirnya, Anda mungkin bertanya-tanya apa yang terjadi ketika Anda memiliki tanda kutip & dalam komando Anda.

Ini memperlakukan apa yang terjadi sebelumnya (cd ISO) sebagai satu perintah, menjalankannya secara asynchronous di latar belakang, dan memperlakukan apa yang terjadi setelahnya (Emulator) sebagai perintah kedua untuk dijalankan juga (di latar depan, karena tidak ada & setelah itu).

  1. [1] 1635 melaporkan pekerjaan latar belakang sudah mulai (itu pekerjaan 1, dan itu ID proses kebetulan 1635).
  2. bash: Emulator: command not found melaporkan tidak ada perintah yang disebut Emulator.
  3. Pesan bash: cd: ISO: No such file or directory tiba dari pekerjaan latar belakang untuk melaporkan tidak ada ISO direktori untuk diubah menjadi.
  4. [1]+ Exit 1 Pekerjaan yang dilaporkan 1 telah selesai.

5
2017-10-03 22:04



Berikut ini adalah ilustrasi metode seret dan jatuhkan: Jalur CLI ke koneksi jaringan ftp. - pa4080