小编dcc*_*310的帖子

scp失败,出现"协议错误:文件名与请求不匹配"

我有一个脚本使用SCP从AWS上的远程Linux主机上提取文件.在每晚运行相同的代码大约6个月没有问题之后,它今天开始失败了protocol error: filename does not match request.我在下面的一些更简单的文件名中重现了这个问题:

$ scp -i $IDENT $HOST_AND_DIR/"foobar" .
# the file is copied successfully

$ scp -i $IDENT $HOST_AND_DIR/"'foobar'" .
protocol error: filename does not match request
# used to work, i swear...

$ scp -i $IDENT $HOST_AND_DIR/"'foobarbaz'" .
scp: /home/user_redacted/foobarbaz: No such file or directory
# less surprising...
Run Code Online (Sandbox Code Playgroud)

我单引号的原因是我最初抓住了名字中带有空格的文件.为了处理空间,我已经做$HOST_AND_DIR/"'foo bar'"了好几个月,但从今天开始,它只会接受$HOST_AND_DIR/"foo\ bar".所以,我的问题固定的,但我仍然对正在发生的事情感到好奇.

我用Google搜索了错误信息,但我没有看到任何真实的提及,这让我感到惊讶.

所涉及的两个主机都有OpenSSL 1.0.2g输出ssh -v localhost,并bash --versionGNU bash, version …

ssh scp

12
推荐指数
1
解决办法
2975
查看次数

将PHP与本地C++程序链接

我一直在研究这几个小时,但我所看到的一切看起来都相当令人生畏.到目前为止,我一直在使用PHP来处理我网站上的所有简单内容.我正在做很多统计工作,我希望c ++可用于更强烈的计算.

c ++将在与PHP相同的Unix机器上本地运行.

以下是我不知道如何做的事情:

<?php 
//c++ program has a counter initialized to 0
//PHP tells c++ to add 5 to the counter.  $incremented is 5
$incremented = increment_in_cpp_and_return(5);
//$incremented_again will be 7
$incremented_again = increment_in_cpp_and_return(2);
?>
Run Code Online (Sandbox Code Playgroud)

当然,我正在运行一些蒙特卡罗模拟并遍历真正的大树而不是增加数字,但这并不是什么阻碍了我.

C++只需要监听一个数字并返回另一个数字(最多可能是JSON中的一些东西).c ++必须在调用之间跟踪其变量.

我已经完成了很多关于TCP,套接字编程等方面的阅读,我只是有点怀疑这个和实例一样复杂.很多事情都指向了我这个https://beej.us/guide/bgnet/html/multi/clientserver.html#simpleserver

如果真的超过100行c ++,是否有一些流行的库,或者是否有另一种语言的简单实现?

谢谢!

php c++ networking

5
推荐指数
2
解决办法
1669
查看次数

子shell和并行处理

我正在查看http://tldp.org/LDP/abs/html/subshel ​​ls.html,其中提到子shell可用于并行化任务。然后他们给出了例子:

(cat list1 list2 list3 | sort | uniq > list123) &
(cat list4 list5 list6 | sort | uniq > list456) &
# Merges and sorts both sets of lists simultaneously.
# Running in background ensures parallel execution.
#
# Same effect as
#   cat list1 list2 list3 | sort | uniq > list123 &
#   cat list4 list5 list6 | sort | uniq > list456 &
Run Code Online (Sandbox Code Playgroud)
wait   # Don't execute the next command until subshells finish. …
Run Code Online (Sandbox Code Playgroud)

parallel-processing bash

2
推荐指数
1
解决办法
3564
查看次数

标签 统计

bash ×1

c++ ×1

networking ×1

parallel-processing ×1

php ×1

scp ×1

ssh ×1