Linux 上的 scp 协议不可用错误

Protocol not available error for scp on Linux

我正在尝试将 windows 文件复制到 linux,但 scp 命令总是看到 'Protocol not available',下面是我的代码:

#!/bin/bash
client_IP='192.168.0.47'
windows_log_folder='E:\project\robot_framework\第一个测试项目\logs'
argfile_path='E:\project\robot_framework\第一个测试项目\logs\argfile.txt'
time_folder=`date +%Y-%m-%T`
echo ${time_folder}
base_path=
echo $base_path
log_folder="${base_path}/logs/${time_folder}"
mkdir "${log_folder}"
echo "${log_folder}"
echo "baimng.zhang@${client_IP}:${argfile_path}"
scp -p baiming.zhang@${client_IP}:${argfile_path} '${log_folder}'
ssh baiming.zhang@${client_IP} "pybot.bat --argumentfile ${argfile_path} E:\project\robot_framework\第一个测试项目" #works fine

files=`ssh baiming.zhang@${client_IP} "dir /b /a:-D ${windows_log_folder}"`
for file in $files
do
   path="${windows_log_folder}\${file}"
   echo $path
   scp -p baiming.zhang@${client_IP}:${path} '${log_folder}' #**error appears  in this line**
done

我从 windows 命令得到的文件名中有一个空格,我在下面的代码中使用 trim 文件名,然后它工作正常。

for file in $files
do
    new_file="$(echo -e "${file}" | tr -d '[:space:]')"
    path=${folder}${new_file}
    path="${windows_log_folder}\${new_file}"
    echo "try to copy ${path} to ${log_folder}"
    scp -p baiming.zhang@${client_IP}:${path} ${log_folder}
done