[- çoğalt] bash içinde "-" kaçmak için nasıl


14

Olası Çoğaltma:
Unix araçları: bir dosya eksi bir şey olarak adlandırılırsa ne olur?

Lütfen bana bundan nasıl kaçacağımı söyle:

[root @ unix ~] # ./-sh
-bash: ./-sh: İzin verilmedi
[root @ unix ~] # chmod + x -sh
chmod: geçersiz mod: `-sh '
Daha fazla bilgi için chmod --help komutunu deneyin.
[root @ unix ~] #

# chmod a + x "\\ - sh" chmod: `\\ - sh '' ye erişemiyor: Böyle bir dosya veya dizin yok
soundhax

Yanıtlar:


24

Kullanın --.

Örn chmod +x -- -sh. GNU dilinde, --seçeneklerin sonu anlamına gelir, bu yüzden -shartık bir seçenek olarak ayrıştırılmaz.

[Düzenle] Örnek eklendi:

böcek: / ana sayfa / hennes / test> dokunma - -sh

böcek: / ana sayfa / hennes / test> ls -l - -sh
-rw ------- 1 hennes kullanıcısı 0 2013-01-04 17:20 -sh

böcek: / home / hennes / test> chmod + x - -sh

böcek: / ana sayfa / hennes / test> ls -l - -sh
-rwx ------ 1 hennes kullanıcıları 0 2013-01-04 17:20 -sh

İlginç bir şekilde, GNU printf ile çalışmasına rağmen, bu GNU eko ile çalışmıyor gibi görünüyor. Bu çalışır: printf -- -sh. Ve bu yapmaz: echo -n -- -sh.
Lukas Pokorny
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.