gpt4 book ai didi

bash - 为什么 sed 在我的 bash 脚本中不起作用?

转载 作者:行者123 更新时间:2023-11-29 09:04:45 26 4
gpt4 key购买 nike

这是我的代码。我只是想复制一些文件并替换我的 Makefile 中的一行。参数 $1 只是我的新 .tex 文件的名称。

#!/bin/bash                                
pwd="./"
tex=".tex"
pwd=$1$tex
cp ~/TeX/matt.sty .
cp ~/TeX/mon.tex $pwd
cp ~/TeX/Makefile .

sed="sed 's/mon.tex/"$1$tex"/g' Makefile > Makefile"
$sed

我有以下错误:sed: 1: "'s/mon.tex/salut.tex/g'": invalid command code '

ps: 我在 Mac OS X 上使用 sed。(所以它是 bsd sed)

最佳答案

sed 的第一个参数字面上是 's/mon.tex/"$1$tex"/g'(带单引​​号)。显然 sed 无法将其解析为命令。

删除单引号可以解决该问题,但重定向 (>) 仍然无效。

直接运行sed命令就可以了($sed变量有什么用?没看懂)

注意:要使用 sed 修改文件,请使用 sed -i。重定向到您正在处理的同一文件将不起作用。

关于bash - 为什么 sed 在我的 bash 脚本中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9329772/

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