【发布时间】:2025-12-20 05:20:18
【问题描述】:
所以我试图从运行 Raspbian 的 RaspberryPi 上的 Makefile 运行 sed 命令。当我将它们直接输入终端时,我正在使用的命令完美运行,但是当我尝试从 Makefile 执行它们时,我得到以下反馈:
sed: -e 表达式 #1, char 14: 命令后的多余字符
#
# Quick and dirty Makefile for logsnag
#
CC = gcc
INCLUDE = -I.
CFILES = myThing.c
OBJS = myThing.o
CFLAGS = ${INCLUDE}
all: myThing
myThing: ${OBJS}
${CC} ${CFLAGS} ${OBJS} -o myThing
myThing.o: ${CFILES}
${CC} ${CFLAGS} myThing.c -c
install: myThing
sudo cp -f myThing/usr/local/bin
sudo cp -f ../bin/startlogging.sh /usr/local/bin
sudo cp -f ../cfg/rotateThing.cfg /etc
if [ ! -d /var/log/thingLog ]; then\
sudo mkdir /var/log/thingLog;\
fi;
sudo sed -i -e '$i touch /var/log/thingLog/thing.log /var/log/thingLog/myThing \n' /etc/rc.local;
sudo sed -i -e '$i logrotate -f /etc/rotateThing.cfg \n' /etc/rc.local;
sudo sed -i -e '$i touch /var/log/thingLog/thing.log /var/log/thingLog/myThing \n' /etc/rc.local;
sudo sed -i -e '$i /usr/local/bin/startlogging.sh > /var/log/thingLog/myThing 2>&1 & \n' /etc/rc.local;
clean:
rm -f myThing *.o
【问题讨论】:
-
请显示上下文!
-
我认为你应该逃避你的
/字符。如果未定义i,例如,我会在最后一行收到该错误。 -
您可以通过准备minimal complete example 为我们节省大量工作。
-
我觉得这个应该更清楚!
标签: bash sed makefile raspbian