Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CLI design and implementation?

I am developing a time management tool for my personal use. I prefer using keyboard over mouse, and on the interface have a general purpose text box which will act like a command line. I have just started thinking about what commands I need, what to use for the command names, how to pass in switches and parameters, and so forth.

I wonder if some of you have come across a good read along these lines; something that describes the choices you have for designing a cli, and how those affect the complexity of the interpreter, and extendability of the commands. It makes no difference if the descriptions are language-specific or in general terms. However, my implementation will be with javascript.

Thank you.

like image 718
Majid Fouladpour Avatar asked Jun 02 '10 19:06

Majid Fouladpour


People also ask

What is CLI implementation?

A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and providing information to them as to what actions they are to perform.

What is CLI process?

CLI is a command line program that accepts text input to execute operating system functions. In the 1960s, using only computer terminals, this was the only way to interact with computers. In the 1970s an 1980s, command line input was commonly used by Unix systems and PC systems like MS-DOS and Apple DOS.

What does the CLI stand for?

Abbreviated as CLI, a Command Line Interface connects a user to a computer program or operating system. Through the CLI, users interact with a system or application by typing in text (commands). The command is typed on a specific line following a visual prompt from the computer.


1 Answers

Read this:

http://www.amazon.com/Software-Tools-Brian-W-Kernighan/dp/020103669X

It explains some of the "philosophy" behind the Unix CLI.

http://www.ibm.com/developerworks/linux/library/l-clutil/

http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_01c

like image 146
S.Lott Avatar answered Oct 03 '22 17:10

S.Lott