小编MPa*_*ker的帖子

初学者:int main()之前的语法错误

我正在尝试运行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练习文件的目录做了.因此权限问题已得到修复,但上面的错误已经开始.他们可能完全无关,但想包括以防万一.

c

7
推荐指数
1
解决办法
1万
查看次数

系统字符串转义

如果我运行此命令

/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}

为什么文件中的转义符会有所不同?我该如何解决?谢谢!!

systemd etcd

5
推荐指数
3
解决办法
7119
查看次数

标签 统计

c ×1

etcd ×1

systemd ×1