我正在尝试运行Hello World程序,但我收到错误
./ex1.c: line 3: syntax error near unexpected token `(`
./ex1.c: line 3: `int main (int argc, char *argv[])'
Run Code Online (Sandbox Code Playgroud)
要么
./ex1.c: 3: ./ex1.c: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)
要么
./ex1.c:3: unknown file attribute: i
./ex1.c:4: parse error near `}'
Run Code Online (Sandbox Code Playgroud)
奇怪的是我以前运行过同样的程序而没有任何问题.
不确定这些问题是否相关,但问题发生在我安装Valgrind在Learn C The Hard Way中运行练习4之后.我收到一个错误,说我已经修复使用权限被拒绝chmod +x.然后我的所有.c文件都需要他们之前没有的权限.然后chmod -R 0777,我为包含所有.c练习文件的目录做了.因此权限问题已得到修复,但上面的错误已经开始.他们可能完全无关,但想包括以防万一.
如果我运行此命令
/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done'
Run Code Online (Sandbox Code Playgroud)
我从etcd返回了预期的结果{“主机”:“ 1”,“端口”:49155}
但是如果我把它放在一个systemd文件中
ExecStart=/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done'
Run Code Online (Sandbox Code Playgroud)
我回来了{host:1,port:49155}
为什么文件中的转义符会有所不同?我该如何解决?谢谢!!