我有一个脚本使用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 --version说GNU bash, version …
我一直在研究这几个小时,但我所看到的一切看起来都相当令人生畏.到目前为止,我一直在使用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 ++,是否有一些流行的库,或者是否有另一种语言的简单实现?
谢谢!
我正在查看http://tldp.org/LDP/abs/html/subshel ls.html,其中提到子shell可用于并行化任务。然后他们给出了例子:
Run Code Online (Sandbox Code Playgroud)(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 &
wait # Don't execute the next command until subshells finish. …Run Code Online (Sandbox Code Playgroud)