mv komutu dizin adını komut seçeneğiyle karıştırır


12

Aradım bir dizin var --pycache--ben taşımak gerekir __pycache__. Kullanılması mvşu şekilde komutu, bana listelenen çıkış verir. CLIİstediğimi yapmak için düğmesini nasıl kullanabilirim ?

$ mv --pycache-- __pycache__
/bin/mv: unrecognized option '--pycache--/'

Yanıtlar:


22

Bu, daha az geleneksel sembollerle başlayan dosya adları / dizinlerle ilgili standart bir konudur. Sorununuz, mv'nin --pycache- uzun seçenek adı olarak işlemesi (- ile başladığından beri, kısa seçenekler de var, - ile başlıyor). Uzun ve kısa seçenekler hakkında ayrıntılı bilgi için lütfen getopt sayfasına bakınız .

Bu durumda standart geçici çözüm, boş bir çift çizgi kullanmaktır - her şeyden önce, seçenek olarak takip edenlere davranmayı durdurmak ve ona göre davranmak için komutu (komutu sizin durumunuzda mv, ancak başkalarıyla birlikte çalışacaktır) söyler. argümanlar.

Böylece emriniz:

$ mv -- --pycache--/ __pycache__

ve başarısız olmaz.


8
iyi cevap ama demek istediğim - emrini aşağıdaki gibi seçenek olarak ele almayı durdurma ve başka bir şekilde değil, argüman olarak ele alma komutunu söyler.
RoundTower

1
Bunun başına ekleme daha taşınabilir olduğunu düşünüyorum ./: mv ./--pycache-- __pycache__.
Kevin

3
@Kevin Bu yalnızca bağımsız değişken bir dosya adı ise işe yarar.
starblue

16

İlk karakteriniz komut -için belirsiz mv(veya daha doğrusu, açıkça bir seçenek adının izlediği anlamına gelir).

Bunun yerine şunu deneyin:

mv ./--ppycache-- __pycache__

Kaynak: linux.about.com


2
Komut desteklemiyorsa da çalışan alternatif çözüm için +1 -
Sverre Rabbelier
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.