değil bir bash
kaçan sorun, bu scp
bir [kullanıcı @] ana ön ek olarak x:
tedavi denemek,:
scp ./file:\ name.mp4 [email protected]:"/path/to/dest"
göre (örneğin ./
) ya da tam yollar kullanılarak (/path/to/source
) bu davranış önler - Bir :
önce /
varlığı, OpenSSH'nin olası bir host:
veya [email protected]:
önekini kontrol etmeyi durdurmasına neden olur. sorunsuz çalışması için bu izin iki nokta üst üste ile başlamak OpenSSH en scp
sadece özel kılıfı dosya adları, normal anlamda bir :
kaçmak için hiçbir desteği vardır ve geçerli ana makine adlarından başka hiçbir fikri böylece neredeyse :
ile herhangi adı taşıyan can Buna sebep olsun.
nedeniyle []
kapalı IPv6 adreslerinin OpenSSH en basit ayrıştırma için (yapabilirsiniz başarıyla [
ile başlamak veya :
önce @[
içeren ve ]:
içermeyen, ama bu ;-)
genellikle kullanışlı değil :
içeren scp
dosyalar
(original question nasıl bash iki nokta üst üste kaçacağız? o bu durum için geçerlidir, ancak iken aşağıdaki metin yazılmış Kabuk çıkışlarının hiçbir miktar yardımcı olacaktır scp
.)
yaklaşık :
kaçmak için nasıl yapmanız gerekmez soruya cevap vermek için ancak "\:
" çalışır.Bir :
kullanıldığı yerler: kaçmak eğer komuta üzerinde etkisi yoktur sadece \e\c\h\o foo
gibi
- boş komut
:
, gerek kaçmak için şunları yapabilirsiniz olsa ("etkisiz", tamamen doğru değildir bir veya daha fazla karakter o önleyecektir bir takma, değerlerini kaçan hiçbir yararlı etkisi (Ben :
içeren bir dizinden benim PATH bir programı çalıştırmak mümkün olmuştur vardır))
PATH
(ve diğerleri, CDPATH
, MAILPATH
eşleştirilerek Biraz beklenmedik olan)
- parametre genişletme
${name:-x}
ve daha name
[a-zA-Z_][a-zA-Z0-9_]
olmalı, böylece gerek değişkenleri isimleri kaçmak için ve hiçbir belirsizlik yoktur, çünkü gerek
? :
trinary sadece değişkenler ve sayılar, gerek çalışır parametre genişleme diğer varyasyonları müteakip :
kaçmaya [[:digit:]]
gibi desende sınıfları ile
==
ve =~
kaçmak için, size \:
ile kaçabilir ama ... her zamankinden yararlı olabilir nasıl bir kayıp komut veya işlev adlarında
- , gerek değilim Kaçış,
\:
'un yararlı bir etkisi yoktur .210
(boş komut sadece :
, sen #foo
adında bir komut gerekir nerede bir komut veya işlev ":foo
" gibi adlandırılmış ve #
için durum farklı bu açıdan, kaçan olmadan çağrılabilir olabilir unutmayın Kaçtı olmak.)
Aynı sorun, rsync'i de etkiler. Neyse ki, aynı çözüm - dosya adlarını '. /' Ile öneklemek - o da yardımcı olur. –