There are multiple ways in which arguments can be passed to scripts; we will cover more on this in future chapters, as they are applicable to specific scripts. The simplest way to take arguments is to pass them without options. Arguments are the values passed to scripts to give them some dynamic capability.
Options are flags that represent specific calls to the script, stating the arguments that are going to be provided. In other words, if you want to get the help or usage instructions for a script, you typically pass the -h
option. If you write a script that accepts both IP addresses and MAC addresses, you could configure it to use different options to signify the data that is about to be presented to it.
Writing scripts to take options is significantly more detailed, but it is not as hard as people make it out to be. For now, let's just look at basic argument passing. Arguments can be made natively with the sys
library and the argv
function. When arguments are passed, a list containing them is created in sys.argv
, which starts at position 0.
The first argument provided to argv
is the name of the script run, and each argument provided thereafter represents the other argument values:
#!/usr/bin/env python import sys arguments = sys.argv print("The number of arguments passed was: %s") % (str(len(arguments))) i=0 for x in arguments: print("The %d argument is %s") % (i,x) i+=1