Command line
Command Window - is a tool for a wide range of tasks, from code execution to creating complex models in Engee. With support for popular text editors, integration with Git and various modes of operation, and numerous management commands, the command line is integrated into all Engee scenarios.
The article covers:
Hotkeys
Various hotkeys are available in the Engee command line to simplify navigation and editing. A list of hotkeys is provided in the article Engee hotkeys.
Some hotkeys for Linux and macOS operating systems may not work correctly due to metacharacter peculiarities, browser settings or conflict with system hotkeys. |
Commands in Engee require initialisation to display, so Tab works the second time; after that, the data is cached and Tab works the first time. Entering a new command requires re-initialisation and double-clicking Tab.
The combination of the entered Latin string and the key Tab, will display a list of available Engee commands starting with the typed string. Tab on an empty string will display a list of all available Engee commands. |
To override or create new hotkeys, the REPL.setup_interface
dictionary is used (more details here).
Command line modes
Different Engee command line modes provide specialised environments for performing different tasks. These modes help you switch between tasks without leaving the command line. Available in Engee are:
-
Common mode.
-
Help mode
-
Shell mode
-
Batch Manager mode
-
Search modes
-
Text editor modes
Normal mode
Normal mode is the main command line interface, it allows you to interactively enter commands, execute them and get the result immediately. The core of Engee is the Julia language, so the full functionality of the language is available in the command line with its advantages, features syntax and more.
Read more about Julia language features in Programming.
Help mode
Help mode is invoked with the question mark ?. This mode provides information about the commands available in Engee and their usage. For example, to get information about the engee.save
model saving function, type the function name and press Enter:
To exit the mode, press the Backspace key or the keyboard shortcut Ctrl+C.
Shell mode
Shell mode is invoked with ;. This mode allows you to execute standard Unix/Linux commands. This includes navigating the file system, managing processes, working with files, and other tasks.
For example, in the new_directory
directory Engee file browser there is a model file
newmodel_1.engee
:
Using shell mode and the ls
command, you can view the contents of the directory without leaving the command line:
The main commands in shell mode include:
Command | Description |
---|---|
|
Move or rename files and directories |
|
Deleting files and directories |
|
Create directories |
|
List the contents of a directory |
|
Change the current directory |
|
Show current directory |
|
Copying files and directories |
|
View file contents |
|
Output a string of text |
To exit, press the Backspace key or the keyboard shortcut Ctrl+C.
Batch Manager mode
The Pkg package manager mode is invoked with ]. This mode allows you to install, update, and manage Julia packages as needed to extend functionality and install additional libraries. For example, to add the Pluto library:
For more information about working with Julia libraries in Engee, see Working with Julia packages.
Search Modes
The search modes are accessed using the key combinations Ctrl+R for reverse and Ctrl+S for forward, respectively:
Search mode | Description |
---|---|
Reverse Search |
Allows you to search the command history in reverse order. Enter a part of a command or a word and the command line will search the history starting with the last command entered in reverse order. Pressing the Ctrl+R keys again will continue to search the history in reverse order. |
Direct Search |
Allows you to search the command history in direct order. Enter a part of a command or a word, and the command line will start searching the history starting with the first command entered in direct order. Pressing the Ctrl+S keys again will continue the history search in direct order. |
If the search fails - failed
will be assigned to the mode.
It is not necessary to exit the main mode to switch between search modes. |
To exit the mode, press the Backspace or Home key or the keyboard shortcut Ctrl+C.
Text Editor Modes
Before using the vi, vim and nano text editors on the Engee command line, it is recommended that you familiarise yourself with their functionality. If you encounter difficulties, please consult the literature of the respective editor or other sources. |
The text editor modes vi, vim and nano are invoked from shell mode with the commands vi
, vim
and nano
respectively, and allow you to edit files without leaving the command line.
The vi/vim interface:
The nano interface:
To exit:
-
vi, vim - press the key Esc, to make sure the editor is in command mode (normal mode). Then type
:q!
and press Enter to exit without saving changes. If changes are made that need to be saved, the:wq
command is used.
-
nano - press the key combination Ctrl+X to exit. If you have made changes that need to be saved, press Y followed by Enter. To exit without saving, press N and then Enter.
-
If you save the changes, the editor will prompt you to enter the name of the file to save. Enter the file name and then click Enter.
-
If you do not save the changes, the editor will close without saving.
-
After exiting text editors, the command line remains in shell mode. To exit shell mode, press the Backspace key or the keyboard shortcut Ctrl+C.
Software control of modelling
For software control of models in Engee, public methods are used. All available public methods can be called with the command engee.
and by pressing Tab on the command line:
You can get help for each public method via the command line help mode:
For example, you can create a model, add blocks with connecting lines to it, set parameters for them and run simulation of the model without leaving the command line:
engee.create("newmodel_1") #создается модель newmodel_1
engee.add_block("/Basic/Sources/Sine Wave", "newmodel_1/") #добавляет блок Sine Wave
engee.add_block("/Basic/Sinks/Terminator", "newmodel_1/") # добавляет блок Terminator
engee.add_line("Sine Wave/1", "Terminator/1") #устанавливает сигнал между выходным портом №1 у блока Sin Wave и входным портом №1 блока Terminator
engee.get_param("newmodel_1") #получение параметров моделирования
engee.set_param!("newmodel_1", "StopTime" => 15, "FixedStep" => 0.05) # меняем фиксированный размер шага и время окончания симуляции
engee.run("newmodel_1"; verbose=false) #запуск симуляции без вывода прогресса симуляции (verbose=false)
A plot plotted using Plots in command line will be displayed in the Graphs window of
|
Read more about modelling management in Software control of modelling.
I/O functions
Engee supports a variety of file formats whose data can be manipulated using command line I/O functions. For example, the Engee file browser has a .json file format:
The read
function is used to read the data on the command line:
engee> read("test.json")
#вывод результата в виде массива байт
69-element Vector{UInt8}:
0x7b
0x0d
0x0a
⋮
0x0a
0x7d
The read
function can take a representation argument. In this case String (string), hence the output of the function is converted to a string:
engee> read("test.json", String) #считывает содержимое файла и возвращает его в виде строки
#вывод результата
"{\n \"fruit\": \"Apple\",\n \"size\": \"Large\",\n \"color\": \"Red\"\n}"
Git integration
The command line provides full version control, allowing you to manage your projects and repositories without leaving your Engee workspace.
We recommend reading Working with Git before you start working with Git on the command line. |
xref:getting-started-git/git-remote-repository.adoc#git-nano[An example of how to specify an SSH key and hosting is provided via the nano editor on the command line.