gpt4 book ai didi

linux - 使用 echo/linux 导出多行代码而无需更改

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:21 25 4
gpt4 key购买 nike

系统 CentOS 7.2寻找将多行代码写入文件而无需更改的解决方案

小块表格代码:

echo '
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i '46s#.*#cfg_file=/usr/local/nagios/etc/hosts.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i '47s#.*#cfg_file=/usr/local/nagios/etc/services.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'48 a \n' /usr/local/nagios/etc/nagios.cfg &&
' >> output.sh

期望的输出:

sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i '46s#.*#cfg_file=/usr/local/nagios/etc/hosts.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i '47s#.*#cfg_file=/usr/local/nagios/etc/services.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'48 a \n' /usr/local/nagios/etc/nagios.cfg &&

我得到的是:

sed -i $45 a n /usr/local/nagios/etc/nagios.cfg &&
sed -i $45 a n /usr/local/nagios/etc/nagios.cfg &&
sed -i $45 a n /usr/local/nagios/etc/nagios.cfg &&
sed -i 46s#.*#cfg_file=/usr/local/nagios/etc/hosts.cfg# /usr/local/nagios/etc/nagios.cfg &&
sed -i 47s#.*#cfg_file=/usr/local/nagios/etc/services.cfg# /usr/local/nagios/etc/nagios.cfg &&
sed -i $48 a n /usr/local/nagios/etc/nagios.cfg &&

如您所见,引号正在消失,无论我是使用单引号还是带回显的双引号。可能有除 ECHO 或某种通用括号之外的其他解决方案来在写入文件时保持代码不变?

最佳答案

cat <<EOF >> output.sh
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'45 a \n' /usr/local/nagios/etc/nagios.cfg &&
sed -i '46s#.*#cfg_file=/usr/local/nagios/etc/hosts.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i '47s#.*#cfg_file=/usr/local/nagios/etc/services.cfg#' /usr/local/nagios/etc/nagios.cfg &&
sed -i $'48 a \n' /usr/local/nagios/etc/nagios.cfg &&
EOF

关于linux - 使用 echo/linux 导出多行代码而无需更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40711252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com