如何在 Gedit 里快速编译运行
首先勾选首选项中的外部工具:
添加之后取名, 设置快捷键。
然后在旁边的框里面输入 Shell 指令。
Code:(Complie and Run)
#!/bin/sh
fullname=$GEDIT_CURRENT_DOCUMENT_NAME//获取文件全名 1.cpp
dir=$GEDIT_CURRENT_DOCUMENT_DIR//获取目录名
name=`echo $fullname | cut -d. -f1`//获取文件名 1,注意这些赋值操作等号前面不能打空格
//name=${fullname%.*}
g++ $fullname -o $name -Wall -std=c++11
if test $? -eq 0; then //判断是否编译成功
//运行终端
gnome-terminal -x bash -c "
time $dir/$name //终端中运行需要指定目录
echo // 换行
echo 'Press ENTER to Continue...'
read
"
fi
echo $name | cut -d. -fx
-d. 表示以字符 ‘.’ 分割,x 是个数字,-fx 表示截取分割后的第 x 部分。
Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x)
bash -c 即运行后面的字串符代表的命令,而分号(;)有执依次执行多个命令的作用(可以用换行代替),执行read则等待用户按下回车后使窗口关闭。
-c 后面的引号不能换行写
无注释版(上面那个无法直接使用):
#!/bin/sh
fullname=$GEDIT_CURRENT_DOCUMENT_NAME
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=${fullname%.*}
g++ $fullname -o $name -Wall -std=c++11
if test $? -eq 0; then
echo "Compile Success."
gnome-terminal -x bash -c "
time $dir/$name
echo
echo 'Press ENTER to Continue...'
read
"
else
echo "Compile Failed."
fi
"$?"预定义变量判断这条命令的执行是否正确,如果变量值为 0,则代表 test 判断为真;如果变量值非 0,则代表 test 判断为假
-eq 是判断等于,类似的,有 -gt, -lt, -ge, -le
-eq 可以换成 =
test 可以用 [] 代替,但是 [] 内两边要加空格,比如:
g++ $fullname -o $name -Wall -std=c++11
if [ $? -eq 0 ]; then
echo Compile Success.
else
echo Compile Failed.
fi
编译运行前保存可以直接设置,在快捷键的下一栏。
常用快捷键有些变化。没有 Ctrl+y 了,变成了 Ctrl+Shift+z
F9 是打开左边的文件目录。Ctrl+F9 是隐藏下面的外部工具栏。还可以添加 Python。