我有这个bash文件,它要求OpenSSH到设备的IP,密码等.
现在,如果我使用ssh root@ip
,我必须输入密码.这真的很烦人.其次; 我不能让我的脚本发送命令.
这就是我想要的 - >
不是密码的东西; 我已经找到了一些东西 但它告诉我找不到命令?:
#!/usr/bin/expect -f
spawn ssh root@$IPADDR
expect "password:"
sleep 1
send "$rpass\r"
我希望用户能够看到一些可以选择的菜单; 之后; 每个命令都是为他完成的.就像一个新窗口,或类似的东西?
我不想使用: - 任何外部的东西 - 没有额外编辑SSH连接
BASH INFO:GNU Bash,v.4.0.33(1)-release(i486-pc-linux-gnu),在Linux Mint上运行.但它必须可用于几个Linux发行版,还可以在Mac上使用?
我来自Java,我想做一些像这样的数据传输对象(DTO):
class ErrorDefinition():
code = ''
message = ''
exception = ''
class ResponseDTO():
sucess = True
errors = list() # How do I say it that it is directly of the ErrorDefinition() type, to not import it every time that I'm going to append an error definition?
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法吗?
如果我创建一个名为temp.bat的批处理脚本(例如),其中包含:
exit /b 1
Run Code Online (Sandbox Code Playgroud)
当我以各种方式运行它时,我的32位XP系统与64位XP系统的行为不同.
在32位:
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
0
Run Code Online (Sandbox Code Playgroud)
在64位:
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
1
Run Code Online (Sandbox Code Playgroud)
我搜索了cmd.exe选项,但我无法找到任何控制它如何从批处理脚本传播错误级别信息的选项.在这一点上,我无法找到任何合理的解释.
我有一个来自外部库的基类,我无法修改 - 这是相关的部分:
public class BaseClass
{
List<string> _values;
public Values { get { return _values; } }
}
Run Code Online (Sandbox Code Playgroud)
我继承BaseClass,我想将_values设置为一个继承自构造函数中的List(T)的类:
public InheritingClass : BaseClass
{
public InheritingClass():base()
{
//set base._values = new InhertingList<string>(); ?
}
}
Run Code Online (Sandbox Code Playgroud)
在那里设置base._values的最佳方法是什么?有没有办法找到值获取的私有变量,并设置以防将来重命名私有变量?
还有其他方法可以完成我需要做的事情,但是如果我可以做到以下几点,那么在没有设置私有属性值的情况下,实现目标的任何方式都会更快.
在进行了一些测试后,我发现它printf
比它快得多cout
.我知道它依赖于实现,但在我的Linux机器上printf
速度提高了8倍.所以我的想法是混合两种打印方法:我想cout
用于简单的打印,我打算printf
用于生成大量输出(通常在循环中).只要在切换到其他方法之前不忘记刷新,我认为这样做是安全的:
cout << "Hello" << endl;
cout.flush();
for (int i=0; i<1000000; ++i) {
printf("World!\n");
}
fflush(stdout);
cout << "last line" << endl;
cout << flush;
Run Code Online (Sandbox Code Playgroud)
这样好吗?
更新:感谢所有宝贵的反馈.答案摘要:如果你想避免棘手的解决方案,只需简单地不使用endl
,cout
因为它会隐式刷新缓冲区.请"\n"
改用.如果你产生大量输出会很有趣.
我想知道为什么List<T>.ForEach(Action<T>)
存在.
这样做有什么好处/差别:
elements.ForEach(delegate(Element element){ element.DoSomething(); });
Run Code Online (Sandbox Code Playgroud)
过度
foreach(Element element in elements) { element.DoSomething();}
Run Code Online (Sandbox Code Playgroud)
?
我认为这并不复杂,但经过一些研究后,我找不到一个简单问题的答案.
我正在迭代字典中的键,我想在一些计算中使用键作为双字符串.
如果我这样做:
foreach (KeyValuePair<string, List<string> price in dictionary)
double ylevel = Convert.ToDouble(price.Key);
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用,我得到一个"输入字符串格式不正确"错误.
什么是从钥匙中获得双倍的正确方法..
谢谢
伯纳德
我必须找到我的代码将运行的最早的PHP4版本(我已经知道它运行在PHP5和PHP 4.4.9(最后的PHP4版本 - 包含在MAMP中).
是否有代码检查工具可以做到这一点?我是否需要安装每个PHP版本并查看会发生什么:-)
是否有任何Wheel/POCO/Option使用POE模块在Perl中执行此操作:我想监视DB表以查找已更改的记录(删除/插入/更新)并相应地对这些更改做出反应.
如果是,可以提供一些代码或显示此链接?
a)书我正在阅读说明浏览器有两套规则(一个用于旧HTML,一个用于较新的标准HTML 4.01)用于显示网页,如果我们不告诉浏览器(通过添加文档类型定义)我们使用标准的HTML 4.01,然后浏览器将假设我们正在编写旧的HTML,因此将使用旧的规则集来呈现html.
b)Book还声称,如果我们告诉浏览器我们正在编写标准的HTML 4.01,但如果我们在标记中只出现一个错误(拼写错误,不匹配的标签......),那么浏览器将假设我们正在编写旧的HTML,因此使用旧的规则集来渲染html.那是对的吗?
c)我不明白为什么由于我们的标记中只有一个错误,浏览器是否能够应用新的规则来完善HTML 4.01?如果没有别的,它可以将旧的规则集应用于无效的标记(比如不匹配的标记)和新的规则集到剩余的,最高标准的HTML ?!
感谢名单
c# ×3
bash ×1
batch-file ×1
c#-3.0 ×1
c++ ×1
cmd ×1
controls ×1
cout ×1
css ×1
dictionary ×1
errorlevel ×1
foreach ×1
html ×1
inheritance ×1
performance ×1
perl ×1
php ×1
poe ×1
printf ×1
python ×1
ssh ×1