我在脚本中使用下面的代码,它应该匹配hosts.test中的"title随机Linux服务器“,并在2行匹配字符串之后将t3文件的文本插入到hosts.test中。但它带来了一些错误。
sed -i.bak '/^title AHS - zarriot CBTS random Linux Servers$/ {N;N; r t3}' hosts.test
有人能帮我吗?
如何在一个命令行中运行对应的sed命令?
sed -i s'/12.1.0.11/#12.1.0.11/g' /etc/hosts
sed -i s'/12.1.0.12/#12.1.0.12/g' /etc/hosts
sed -i s'/12.1.0.21/#12.1.0.21/g' /etc/hosts
sed -i s'/12.1.0.22/#12.1.0.22/g' /etc/hosts
我的目标是通过ssh更新目标主机文件。
我不想跑4次!
示例
ssh linux1 sed -i s'/12
将Docker输出保存到主机
docker run centos cat /etc/hosts > asdf
"asdf“保存在我的主机Linux中。
将码头输出保存到容器中
docker run centos sh -c 'cat /etc/hosts > /tmp/asdf '
docker run centos cat /tmp/asdf
cat: /tmp/asdf: No such file or directory
它不工作,我怎么能猫新的文件?
在容器中使用"<“
docker run centos sh -c 'cat
我在.sh文件中定义了一个数组,如下所示:
hosts=(NODE IPS)
hosts[0]="1.110,Node-01"
hosts[1]="1.111,Node-02"
hosts[2]="1.112,Node-03"
hosts[3]="1.113,Node-04"
hosts[4]="1.114,Node-05"
hosts[5]="1.115,Node-06"
如何循环数组,但根据逗号拆分每个索引,并将值存储在变量中,如下所示:
for index in ${!hosts[*]}
do
将码头输出保存到宿主
中
docker run centos cat /etc/hosts > asdf
asdf保存在我的主机linux中。
将码头输出保存到容器
docker run centos sh -c 'cat /etc/hosts > /tmp/asdf '
docker run centos cat /tmp/asdf
cat: /tmp/asdf: No such file or directory
这不管用,我怎么做呢?
容器中的
<:
docker run centos sh -c 'cat < /etc/hosts'
我对BASH脚本比较陌生。我希望有人能帮忙。我有两个文件。文件1是包含某些服务器属性的.csv文件。
cmdb_ci_linux_server.csv
"CLS000","csl000","Linux SuSe","9","HP"
"CLS001","cls001","Linux SuSe","9","VMware, Inc."
"CLS002","cls002","Linux Red Hat
在尝试安装nagios时,我遇到了一些错误。
错误:无法打开配置文件‘/usr/local/nagios/etc/hosts.cfg;添加了新文件以供读取:没有这样的文件或目录错误处理对象配置文件!在处理配置文件…时遇到了一个或多个问题检查配置文件(S),以确保它们包含有效的指令和数据定义。如果您正在从Nagios的前一个版本升级,您应该注意到在这个版本中可能已经删除或修改了一些变量/定义。请务必阅读有关配置文件的HTML文档,以及“新的内容”部分,以了解已更改的内容。
据我所知,我的配置文件是完美的,但我似乎不知道错误来自何处。
# Define a host for the remote