perintah mv membingungkan nama direktori dengan opsi perintah
12
Saya memiliki direktori bernama --pycache--, yang harus saya pindahkan __pycache__. Menggunakan mvperintah dengan cara berikut, memberi saya output terdaftar. Bagaimana saya dapat menggunakan CLIuntuk melakukan apa yang saya inginkan?
Ini adalah masalah standar dengan nama file / direktori yang dimulai dengan simbol yang kurang konvensional. Masalah Anda adalah bahwa mv memperlakukan --pycache-- sebagai nama opsi yang panjang (sejak dimulai dengan -, ada juga opsi pendek, mereka mulai dengan -). Silakan lihat manual untuk getopt untuk detail tentang opsi panjang dan pendek.
Solusi standar dalam situasi ini adalah dengan menggunakan tanda hubung ganda kosong - sebelum semua argumen, yang memberi tahu perintah (mv dalam kasus Anda, tetapi akan bekerja dengan orang lain, cp misalnya) untuk berhenti memperlakukan yang berikut sebagai opsi dan memperlakukannya sebagai argumen.
jawaban yang bagus tapi saya pikir maksud Anda - memberi tahu perintah untuk berhenti memperlakukan yang berikut sebagai opsi dan memperlakukannya sebagai argumen, bukan sebaliknya.
RoundTower
1
Saya pikir itu lebih portabel untuk tambahkan ./: mv ./--pycache-- __pycache__.
Kevin
3
@Kevin Itu hanya berfungsi jika argumennya adalah nama file.
starblue
16
Karakter pertama Anda -ambigu untuk mvperintah (atau lebih tepatnya, itu jelas berarti bahwa nama opsi mengikuti).
./
:mv ./--pycache-- __pycache__
.Karakter pertama Anda
-
ambigu untukmv
perintah (atau lebih tepatnya, itu jelas berarti bahwa nama opsi mengikuti).Coba ini sebagai gantinya:
Sumber: linux.about.com
sumber