Argumentumok, opciók és paraméterek

A figyelmes szemlélő számára feltűnhetett, hogy az előző szakasz végén az argumentumoknak kétféle szerepe, illetve kétféle formája volt: a cal 1752 a megadott év naptárát jelenítette meg, a cal -e az aktuális év húsvéti időpontját (ahogyan a cal parancs magában is az aktuális évre vonatkozott).

Szigorú értelemben a parancssor minden eleme (beleértve magát a parancsot is) egy-egy argumentum: a 0. a parancs, azután következik rendre az 1., a 2. és így tovább.

Az opció olyan argumentum, amely a parancs működését módosítja. Az opciók hagyományosan egy kötőjelből és egy betűből állnak (de több ilyen összevonható); a hosszú opciókat két kötőjel vezeti be, majd ezek után teljes szó áll (az egybetűs rövidítés helyett).

Végül a paraméter olyan argumentum, amely vagy magának a parancsnak, vagy a parancs valamely opciójának ad további információt.

Lássunk ezek után néhány példát a fentiekre.

Parancs két paraméterrel: a kért hónapot, illetve évet adjuk át információként a parancsnak:

tux@madas:~/public_html/txt/mp$ cal 11 1968
   November 1968      
 v  h  k sz cs  p sz  
                1  2  
 3  4  5  6  7  8  9  
10 11 12 13 14 15 16  
17 18 19 20 21 22 23  
24 25 26 27 28 29 30  
                      
tux@madas:~/public_html/txt/mp$ 

Két példa opcióra: lássuk a megelőző, illetve a következő hónapot is…

tux@madas:~/public_html/txt/mp$ cal -3
  Szeptember 2018         Október 2018         November 2018      
 v  h  k sz cs  p sz   v  h  k sz cs  p sz   v  h  k sz cs  p sz  
                   1      1  2  3  4  5  6               1  2  3  
 2  3  4  5  6  7  8   7  8  9 10 11 12 13   4  5  6  7  8  9 10  
 9 10 11 12 13 14 15  14 15 16 17 18 19 20  11 12 13 14 15 16 17  
16 17 18 19 20 21 22  21 22 23 24 25 26 27  18 19 20 21 22 23 24  
23 24 25 26 27 28 29  28 29 30 31           25 26 27 28 29 30     
30                                                                
tux@madas:~/public_html/txt/mp$ 

…illetve lássuk, hogy az év hányadik napjánál járunk:

tux@madas:~/public_html/txt/mp$ cal -j
       Október 2018          
  v   h   k  sz  cs   p  sz  
    274 275 276 277 278 279  
280 281 282 283 284 285 286  
287 288 289 290 291 292 293  
294 295 296 297 298 299 300  
301 302 303 304              
                             
tux@madas:~/public_html/txt/mp$ 

Ahogy említettük, a rövid opciók összevonhatóak:

tux@madas:~/public_html/txt/mp$ cal -3j
                         2018
        Szeptember                     Október            
  v   h   k  sz  cs   p  sz    v   h   k  sz  cs   p  sz  
                        244      274 275 276 277 278 279  
245 246 247 248 249 250 251  280 281 282 283 284 285 286  
252 253 254 255 256 257 258  287 288 289 290 291 292 293  
259 260 261 262 263 264 265  294 295 296 297 298 299 300  
266 267 268 269 270 271 272  301 302 303 304              
273                                                       

         November            
  v   h   k  sz  cs   p  sz  
                305 306 307  
308 309 310 311 312 313 314  
315 316 317 318 319 320 321  
322 323 324 325 326 327 328  
329 330 331 332 333 334      
                             
tux@madas:~/public_html/txt/mp$ 

Természetesen nincs akadálya annak, hogy egy parancs opciót is, paramétert is kapjon:

tux@madas:~/public_html/txt/mp$ cal -j 12 2000
       December 2000         
  v   h   k  sz  cs   p  sz  
                    336 337  
338 339 340 341 342 343 344  
345 346 347 348 349 350 351  
352 353 354 355 356 357 358  
359 360 361 362 363 364 365  
366                          
tux@madas:~/public_html/txt/mp$