scpがリモートホストからローカルにファイルを戻すスクリプトを持っています。ファイル名にスペースが含まれている場合があります。scpは、ファイル名にスペースが含まれていないことを好みません。何らかの理由で、スペースを処理する私の試みは正しいscpパスをもたらしませんでした。
コード:
PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg
scp $PATH Me@10.1.10.33:/Users/Me/Desktop
結果
Cannot find directory: var/root/Documents/MyFile
Cannot find directory: OG-v1.2.3.pkg
PATHを引用符で囲むと"$PATH"
、同じエラーが発生します。
エスケープされたスペースとスペースの交換も機能しませんが、私が知る限り、次のようにする必要があります。
ESC_PATH=${PATH/' '/'\ '}
エスケープされたパスを印刷すると、編集が機能したことが示されますが、
echo $ESC_PATH
> /var/root/Documents/MyFile\ OG-v1.2.3.pkg
$PATH
端末で必要になるため、独自の変数には使用しないでください。