扫码关注官方订阅号
走同样的路,发现不同的人生
你的问题完全可以实现,只要稍加修改,代码如下
#!/bin/bash name=Jelly while read line do echo $(eval echo $line) done < str.log
不是很明白你的意思 str.log怎么会有变量,<读进来肯定是纯文本,sh的赋值y也没有$
如果你是想替换字符串的话,这条命令也是可以完成任务的:
# 直接打印到终端 $ sed 's/$name/Jelly/g' < str.log my name is Jelly # 把替换后的结果写入另一个文件 $ sed 's/$name/Jelly/g' < str.log > result.log
你把bash当template engine用了。还是老老实实用sed吧
echo $line | sed "s/\$name/$name/g"
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你的问题完全可以实现,只要稍加修改,代码如下
不是很明白你的意思 str.log怎么会有变量,<读进来肯定是纯文本,sh的赋值y也没有$
如果你是想替换字符串的话,这条命令也是可以完成任务的:
你把bash当template engine用了。还是老老实实用sed吧