Command line argument

From Wikipedia, the free encyclopedia

In computer command line interfaces, a command line argument is an argument sent to a program being called. In general, a program can take any number of command line arguments, which may be necessary for the program to run, or may even be ignored, depending on the function of that program.

For example, in the popular Unix environment, an example of a command-line argument is:

rm file.s

"file.s" is a command line argument which tells the program rm to remove the file "file.s".

[edit] Command-line switch

A command line switch or simply switch (also known as a flag, an option, or a command line parameter) is an indication by a user that a computer program should change its default behaviour.

For example, in the OpenVMS operating system, the command directory is used to list the files inside a directory. By default—that is, when the user simply types directory—it will list only the names of the files. By adding the switch /owner (to form the command directory/owner), the user can instruct the directory command to also display the ownership of the files.

The format of switches varies widely between operating systems. Under the OpenVMS operating system, switches are entered in the form command/switch_1/switch_2/switch_3=value etc. The form /switch=value is used to provide an argument to the switch; for example, /user=john might specify that only files owned by the user "john" should be displayed.

MS-DOS and related operating systems typically use single-letter switches, for example dir/w/p/a:s. In this case, the : character serves the same purpose as = above.

Traditionally, the Unix operating system is similar to MS-DOS; switches are single letters, and introduced via a - (hyphen); e.g. ls -l -F -a. When options are given in this form (a dash and then a letter or word), they are more often called flags - as in compiler flags. Multiple flags may be combined into one, so the previous command could be rewritten ls -lFa. However, with the increasingly widespread use of software from the GNU project, particularly in the Linux operating system, GNU's "long options" are also widely used. Long options are introduced via --, and are typically whole words. For example, ls --long --classify --all. Arguments to long options are provided with =, as ls --block-size=1024.

GNU -- is also used to terminate option list. This is very practical; for example, if one has file called -file1, and wants delete it by typing rm -file1, rm might think that -file1 is a command line switch, and produce an error. Using rm -- -file1 removes ambiguity.

In other languages