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
我正在尝试将 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