我昨天安装了 Ubuntu,所以我不知道很多命令是什么意思。我只是边学边学。我安装了 Sublime Text 3 编辑器,并尝试使用基于 Ubuntu 16.04 的教程编译和运行程序。编译成功,但它显示了类似这样的错误,并且打开的运行终端没有任何反应。
所以我所做的是改变构建系统:在第 12 行我删除了“-e”并添加了“--”:
现在,编译状态中没有显示错误,但终端显示另一个错误。
我想我需要对构建系统做一些额外的更改。
这是我用于构建系统的代码:
{
"cmd": ["g++", "$file", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++, source.cxx, source.cpp",
"variants":
[
{
"name": "Run",
"shell": true,
"cmd": ["gnome-terminal -e 'bash -c
\"${file_path}/${file_base_name};echo;echo; echo Press ENTER
to continue; read line;exit; exec bash\"'"]
}
]
}
答案1
在 Sublime Text 3 中,构建系统cmd
具有不同的语法:您应该将命令的每个参数写在不同的引号中,如下所示:
"cmd": ["gnome-terminal", "-e", "'bash -e ...'"]
它更易于使用shell_cmd
。
"shell_cmd": "gnome-terminal -- bash -c 'Your command here'"
例如,这将执行您编译的程序并等待按下任意键:
"shell_cmd": "gnome-terminal -- bash -c '${file_path}/${file_base_name}; read -sn 1'"