Command-line arguments: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎[[sh]]: Fixed section title and link)
(add Python)
Line 35: Line 35:
my $second = $ARGV[1];
my $second = $ARGV[1];
my $fifth = $ARGV[4];
my $fifth = $ARGV[4];
==[[Python]]==
[[Category:Python]]
argv in the sys module is a list containing all command line parameters, including the program name.


import sys
program_name = sys.argv[0] # gets the program name
all_arguments = sys.argv[1:] # arguments, excluding the program name
==[[Tcl]]==
==[[Tcl]]==
[[Category: Tcl]]
[[Category: Tcl]]

Revision as of 13:36, 16 February 2007

Task
Command-line arguments
You are encouraged to solve this task according to the task description, using any language you may know.

Retrieve the list of command-line arguments given to the program.

Example command line:

myprogram -c "alpha beta" -h "gamma"

Ada

Command line arguments are available through the pre-defined package Ada.Command_Line.

with Ada.Command_line; use Ada.Command_Line;
with Ada.Text_IO; use Ada.Text_IO

procedure Print_Commands is
begin
   -- The number of command line arguments is retrieved from the function Argument_Count
   -- The actual arguments are retrieved from the function Argument
   -- The program name is retrieved from the function Command_Name
   Put(Command_Name & " ");
   for Arg in 1..Argument_Count loop
      Put(Argument(Arg) & " ");
   end loop;
   New_Line;
end Print_Commands;

Perl

Interpreter: Perl v5.x

@ARGV is the array containing all command line parameters

my @params = @ARGV;
my $second = $ARGV[1];
my $fifth = $ARGV[4];

Python

argv in the sys module is a list containing all command line parameters, including the program name.

import sys
program_name = sys.argv[0] # gets the program name
all_arguments = sys.argv[1:] # arguments, excluding the program name

Tcl

The pre-defined variable argc contains the number of arguments passed to the routine, argv contains the arguments as a list. Retrieving the second argument might look something like this:

 if { $argc > 1 } { puts [lindex $argv 1] }

(Tcl counts from zero, thus [lindex $list 1] retrieves the second item in the list)

UNIX Shell

Bourne Shell

To retrieve the entire list of arguments:

WHOLELIST="$@"

To retrieve the second and fifth arguments:

SECOND=$2
FIFTH=$5