01/10/2018, 00:20

Cách chạy Linux terminal qua build-system trong Sublime Text

Tại vì ST không cho phép nhập input từ người dùng, nên mình muốn viết một cái build-system để mở trực tiếp terminal lên và code được thực thi luôn ở đó (thay vì hiện phía dưới phần console). Kiểu giống mấy IDE như Code::Blocks hay Dev-C++ trên Windows ấy: mở một giao diện dòng lệnh riêng biệt để chạy code.
Các cao nhân có cách chỉ cho mình với. Xin cảm ơn rất nhiều!

Tao Không Ngu. viết 02:34 ngày 01/10/2018

Bạn thử lệnh gnome-terminal -e top
<tên tẻminal > -e <lệnh>

Lương Quang Mạnh viết 02:33 ngày 01/10/2018

vậy nhét nó vào đâu hả bác?

Tao Không Ngu. viết 02:21 ngày 01/10/2018

Chỗ gọi lệnh run chương trình.
VD build được file run.exe
bình thường thì chạy gọi lệnh run.exe bây giờ gọi lệnh -e run.exe.

Lương Quang Mạnh viết 02:30 ngày 01/10/2018

Chờ chút, hình như có chút nhần lẫn ở đây thì phải
Thứ nhất là mình đang nói về Sublime Text, và nó không có chỗ nào “run” cả.
Và mình đang dùng Linux, cũng không thể chạy vile .exe được.

Tao Không Ngu. viết 02:35 ngày 01/10/2018

VD vậy! @@! @@! @_@!

Tao Không Ngu. viết 02:27 ngày 01/10/2018

Tạo 1 shell scrip để gọi lệnh chạy trong đó cũng như thêm các lệnh khác cho đơn gỉan !

Kết qủa:

Đưa file kịch bản vào ~/.bin và đăng ký lệnh.

Tạo 1 kịch bản build và gọi lệnh :

Lưu và chọn kịch bản khi build

Chúc bạn thành công.

Tao Không Ngu. viết 02:21 ngày 01/10/2018

Mình thích dùng geany hơn.

Lương Quang Mạnh viết 02:21 ngày 01/10/2018

Ok đã hiểu. Cảm ơn bác nhiều nhé. Cơ bản là tại em hơi nghiện con ST này nên là không muốn dùng IDE.
Thế con Geany nó hơn gì không để em tham khảo.

Added:
@Phong_Ky_Vo
Tình hình là để cho đỡ phức tạp và phụ thuộc và cái file run.sh, mình đã cắt một số đoạn đi còn lại thế này thôi:
&& gnome-terminal -e \"./${file_base_name}; read\"
Nhưng nó báo lỗi There was an error creating the child process for this terminal. Failed to execute child process “./draft;” (No such file or directory) (draft là tên chương trình).

Tao Không Ngu. viết 02:32 ngày 01/10/2018

No such file or directory không có file! @_@!
Nhưng nếu bạn chạy luôn như vậy thì chạy xong terminal đóng luôn. có getchar(); ở chuối.
(trong file scrrip có read -p để dừng lại)

Lương Quang Mạnh viết 02:35 ngày 01/10/2018

Chờ lâu quá nên em viết riêng ra một cái script như bên trên của anh rồi. Hơi khác một chút:

#!/bin/bash

# executes the script and measures time
START=$(date +%s.%N)
./$1
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)

# prints out the result
printf "\n[FINISHED IN %.3fs]\n" $DIFF
read -n1 -p "Press any key to continue... "

Cho nó giống trong console của ST.

Nhưng em lại gặp vấn đề với cái build_system phần
"shell_cmd": "gcc $file_name -o ${file_base_name} && gnome-terminal -e \"/home/usr_name/.bin/sublrun ./${file_base_name}\""
Nếu em thay absolute path /home/usr_name về $HOME thì lỗi. Mà để nguyên thế thì không tiện cho lắm.

Tao Không Ngu. viết 02:29 ngày 01/10/2018

Bạn có thể làm theo tut

askubuntu.com
user233233

How to add /home/username/bin to $PATH?

home-directory, environment-variables, paths
asked by user233233 on 06:09PM - 08 Jan 14

khi đó có thể thêm folder nhận các lệnh. Cho các shell của bạn vào đó thì có thể gọi bình thường.

Bài liên quan
0