scpのエスケープされた引用符

scpのエスケープされた引用符

迷惑なファイル名(スペース、中括弧など)を正しく処理するファイル名を作成する必要があります。

scp -rv "$1" shiny:/Volumes/Seagate3To/\"$1\"

この関数は機能しますが、2番目の引数で引用符をエスケープする必要がある理由を理解できませんscp

ベストアンサー1

1ドルだとしましょう

This is a test directory name

ターゲットディレクトリ(コロンの後の部分)が完全な(二重引用符を含む)ターゲットコンピュータに渡されることを望むので、二重引用符をエスケープします。

私たちが過度にしたいことは次のとおりです。

/Volumes/Seagate3To/"This is a test directory name"

エスケープしないと、ローカルシステムは二重引用符を使用して、次の文字列を6つのスペースで区切られた文字列に送信します。

/Volumes/Seagate3To/This is a test directory name

結果はエラーです。

おすすめ記事