Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| '''Valitsin''', '''vipu''', '''argumentti''', '''parametri''', '''lippu''' eli '''optio''' on [[komentorivi]]llä annettava ohjelman toimintaan vaikuttava lisäohje, joka yleensä kirjoitetaan ennen mahdollisten käsiteltävien tiedostojen nimiä. Tässä esitellään tavallisimpia käytäntöjä. | | '''Valitsin''' eli vipu eli optio on [[komentorivi]]llä annettava ohjelman toimintaan vaikuttava lisäohje, joka yleensä kirjoitetaan ennen mahdollisten käsiteltävien tiedostojen nimiä. Tässä esitellään tavallisimpia käytäntöjä. |
|
| |
|
| == Perusteet ==
| | Unixin komennot annetaan tavallisimmin tyyliin |
| | komento -a -b -c tiedosto ... |
| | komento -abc tiedosto ... |
|
| |
|
| Unix-pohjaisten käyttöjärjestelmien, kuten Linux-jakeluitten kanssa, komennot annetaan tavallisimmin tyyliin
| | Toisella komentorivillä valitsimet on yhdistetty yhteen ryhmään. |
| $ komento -a -b -c tiedosto ...
| |
| | |
| Valitsimet on myös mahdollista listata yhtenäisenä ryhminä.
| |
| $ komento -abc tiedosto ...
| |
| | |
| == Antaminen ==
| |
| Kaikki ohjelmat eivät aina ota valitsimia.
| |
| $ [[true]] '''valitsin'''
| |
| '''Paksulla''' merkitty teksti on valitsin. [[true]] ei välitä valitsimista, joita käyttäjä sille antaa, joten sen käyttäytyminen ei muutu.
| |
| | |
| Jotkin ohjelmat eivät tarvitse valitsimia.
| |
| $ [[cat]]
| |
| cat ottaa muutaman valitsimen, jos se niitä saa, mutta se ei tarvitse niitä toimiakseen. [[GNU]]-versio cat:ista ottaa muun muassa tämän:
| |
| $ cat '''--version'''
| |
| Tämä tulostaa näytölle versiotiedot.
| |
| cat (GNU coreutils) 9.1
| |
| Copyright (C) 2022 Free Software Foundation, Inc.
| |
| License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
| |
| This is free software: you are free to change and redistribute it.
| |
| There is NO WARRANTY, to the extent permitted by law.
| |
|
| |
| Kirjoittaneet Torbjorn Granlund ja Richard M. Stallman.
| |
|
| |
|
| Valitsimet ja niiden käsittely on ohjelmakohtaisia, mutta joitakin valitsimia käytetään usein tiettyihin tarkoituksiin. | | Valitsimet ja niiden käsittely on ohjelmakohtaisia, mutta joitakin valitsimia käytetään usein tiettyihin tarkoituksiin. |
|
| |
|
| |
| Jotkin ohjelmat vaativat valitsimia.
| |
| $ [[gcc]]
| |
| '''gcc: <span style="color: red;">fatal error:</span>''' no input files
| |
| compilation terminated.
| |
|
| |
| $ gcc '''ohjelma.c -o ohjelma'''
| |
| [ei tulostetta]
| |
|
| |
| Joillain valitsimilla on tarkentajia, jotka annetaan kyseisen valitsimen jälkeen. Yleensä tarkentaja erotetaan valitsimesta välilyönnillä, mutta monet ohjelmat hyväksyvät ja jotkut vaativat sen kirjoittamista yhteen valitsimen kanssa. GNU-tyyliset pitkät valitsimet erotetaan tarkentajistaan "="-merkillä. Jos tarkentajia on useampia, ne usein erotetaan toisistaan pilkulla, ilman välilyöntiä.
| |
|
| |
| valitsin, jolla voi olla tarkentaja, pitää laittaa valitsinryhmän viimeiseksi:
| |
| komento -vglo tulostiedosto -d erotin tiedosto ...
| |
| Jos haluat käyttää tiedostoa, joka alkaa "-"-merkillä (''"-ihmetiedosto"'') tai jos viimeisellä valitsimella on tarkentaja, jota nyt ei käytetä, valitsimien ja niiden tarkentajien lopun voi ohjelmasta riippuen usein merkitä yhdellä tai kahdella "-"-merkillä. "-"-merkkiä käytetään myös ilmaisemaan [[Standardivirrat|standardivirtoja]].
| |
|
| |
| === Kuinka selvittää ohjelman valitsimet? ===
| |
| Voit tarkistaa valitsimet hakemalla netistä, katsomalla [[man]]-ohjelmalla ja usein valitsimilla ''-h'' tai ''--help''.
| |
|
| |
| === Yleisiä valitsimia ===
| |
| {{Huomautus|Ota huomioon, että kaikki ohjelmat eivät käytä samoja valitsimia samoihin tarkoituksiin, joten voit tahattomasti vahingoittaa järjestelmääsi yrittäessäsi käyttää tuntemiasi valitsimia.}}
| |
| -f "force", "tiedän mitä teen, älä huoli" | | -f "force", "tiedän mitä teen, älä huoli" |
| -h "help", lyhyt [[dokumentaatio|ohje]] komennon käytöstä | | -h "help", lyhyt [[dokumentaatio|ohje]] komennon käytöstä |
Rivi 54: |
Rivi 13: |
| -V "version", ohjelman versio | | -V "version", ohjelman versio |
| -o "output", luotava tiedosto ([[GNU]]-ohjelmissa, sama onnistuu usein komentotulkin rakenteella > tiedosto) | | -o "output", luotava tiedosto ([[GNU]]-ohjelmissa, sama onnistuu usein komentotulkin rakenteella > tiedosto) |
|
| |
| == Erilaisia valitsintyylejä ==
| |
|
| |
|
| Valitsimilla voi olla parametreja, jotka annetaan kyseisen valitsimen jälkeen. Yleensä parametri erotetaan valitsimesta välilyönnillä, mutta monet ohjelmat hyväksyvät ja jotkut vaativat parametrin kirjoittamista yhteen valitsimen kanssa. GNU-tyyliset pitkät valitsimet erotetaan parametreistään "="-merkillä. Jos parametrejä on useampia, ne usein erotetaan toisistaan pilkulla, ilman välilyöntiä. | | Valitsimilla voi olla parametreja, jotka annetaan kyseisen valitsimen jälkeen. Yleensä parametri erotetaan valitsimesta välilyönnillä, mutta monet ohjelmat hyväksyvät ja jotkut vaativat parametrin kirjoittamista yhteen valitsimen kanssa. GNU-tyyliset pitkät valitsimet erotetaan parametreistään "="-merkillä. Jos parametrejä on useampia, ne usein erotetaan toisistaan pilkulla, ilman välilyöntiä. |
Rivi 91: |
Rivi 48: |
|
| |
|
| Monet ohjelmat käyttävät useamman perinteen mukaisia valitsimia, esimerkiksi jotta ne käyttäytyisivät odotusten mukaisesti riippumatta siitä, mikä perinne on käyttäjälle tutumpi tai minkä perinteen mukaista ohjelmaa skripti on kirjoitettu käyttämään. | | Monet ohjelmat käyttävät useamman perinteen mukaisia valitsimia, esimerkiksi jotta ne käyttäytyisivät odotusten mukaisesti riippumatta siitä, mikä perinne on käyttäjälle tutumpi tai minkä perinteen mukaista ohjelmaa skripti on kirjoitettu käyttämään. |
|
| |
| == Ottaminen ==
| |
| === [[C]] ===
| |
| C-kielellä valitsimet menevät pääfunktiolle. Yksi on kokonaisluku ja toinen taulukko merkkijonoista. Näille voi periaatteessa antaa mitkä tahansa nimet, mutta tyypillisesti ne ovat '''argc''' (argument count) ja '''argv''' (argument vector).
| |
|
| |
| <syntaxhighlight lang="c">
| |
| #include <stdio.h>
| |
|
| |
| int main(int argc, char *argv[]) {
| |
| //argv sisältää valitsimet, argc kertoo argv:n pituuden
| |
| //argv:n ensimmäinen solu sisältää ohjelman nimen
| |
|
| |
| printf("Valitsimien lukumäärä on %i\n", argc);
| |
|
| |
| for(int i=0; i<argc; ++i)
| |
| printf("valitsin no. %i on: %s\n", i, argv[i]);
| |
| }
| |
| </syntaxhighlight>
| |
| Jos käännät tuon ohjelman tiedostoon "valitsinotto", nämä tulostukset syntyvät:
| |
| $ ./valitsinotto
| |
| Valitsimien lukumäärä on 1
| |
| valitsin no. 0 on: ./valitsinotto
| |
|
| |
| $ ./valitsinotto jgaoirjg igaoierj
| |
| Valitsimien lukumäärä on 3
| |
| valitsin no. 0 on: ./valitsinotto
| |
| valitsin no. 1 on: jgaoirjg
| |
| valitsin no. 2 on: igaoierj
| |
|
| |
| === [[Python]] ===
| |
| Python varastoi valitsimensä taulukossa sys.argv, joka kuuluu sys-kirjastoon.
| |
| <syntaxhighlight lang="python">
| |
| #!/usr/bin/python3
| |
|
| |
| import sys
| |
|
| |
| print("Valitsimien lukumäärä on", len(sys.argv));
| |
|
| |
| for i in range(len(sys.argv)):
| |
| print("valitsin no.", i, "on:", sys.argv[i])
| |
| </syntaxhighlight>
| |
| Jos tallennat tuon ohjelman tiedostoon "valitsinotto.py", nämä tulostukset syntyvät:
| |
| $ ./valitsinotto.py
| |
| Valitsimien lukumäärä on 1
| |
| valitsin no. 0 on: ./valitsinotto.py
| |
|
| |
| $ ./valitsinotto.py jgaoirjg igaoierj
| |
| Valitsimien lukumäärä on 3
| |
| valitsin no. 0 on: ./valitsinotto.py
| |
| valitsin no. 1 on: jgaoirjg
| |
| valitsin no. 2 on: igaoierj
| |
|
| |
|
| [[Luokka:Komentorivi]] | | [[Luokka:Komentorivi]] |
| [[Luokka:Käsitteet]] | | [[Luokka:Käsitteet]] |