我有变量jr=127.0.1.1 ysrnsk
。我必须将其替换为/etc/hosts
文件的第二行。 sudo sed -i.bak '2 s/^.*$/'$jr'/' /etc/hosts
这就是我所做的。但是它没有提供任何输出
答案 0 :(得分:0)
由于您正在使用-i选项,因此sed命令不会输出任何内容
并且您必须对所有内容都加双引号:
Webelement ele=driver.findelement()
Actions ob = new Actions(driver);
ob.moveToElement(ele);
ob.click(ele);
Action action = ob.build();
action.perform();
答案 1 :(得分:0)
jr="127.0.1.1 ysrnsk"
^^在此处提供引号,意味着包含所有数据,否则您的输入仅为127.0.1.1
sed -i.bak '2 s/^.*$/$jr/' /etc/hosts
-i
参数进行适当的编辑。不提供输出。如果要在编辑之前“测试”输出,请运行
sed .bak "2 s/^.*$/'$jr'/" /etc/hosts
bash中的 ''
实际上就是您键入的内容。要允许参数扩展,例如将变量变成其实际含义,请使用双引号""
sed .bak "2 s/^.*$/'$jr'/" /etc/hosts
^ ^ These don't do anything, other than again, tell bash to interpret this literally
所以:
sed .bak "2 s/^.*$/$jr/" /etc/hosts # This to see your output
sed -i .bak "2 s/^.*$/$jr/" /etc/hosts # This to commit it without output