|
|
(2 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) |
Rivi 1: |
Rivi 1: |
| '''Väite''', '''valitsin''', '''argumentti''' tai '''parametri''' on ohjelmalle [[pääte|päätteessä]] annettu lisätieto siitä, kuinka ohjelman tulisi pyöriä.
| | #ohjaus [[Valitsin]] |
| | |
| Ota huomioon, että kaikki ohjelmat eivät käytä samoja väitteitä samoihin tarkoituksiin, joten voit tahattomasti vahingoittaa järjestelmääsi yrittäessäsi käyttää tuntemiasi väitteitä.
| |
| | |
| == Antaminen ==
| |
| Kaikki ohjelmat eivät aina ota väitteitä.
| |
| $ true '''väite'''
| |
| '''Paksulla''' merkitty teksti on väite. [[true]] ei välitä väitteistä, joita käyttäjä sille antaa, joten sen käyttäytyminen ei muutu.
| |
| | |
| Jotkin ohjelmat eivät tarvitse väitteitä.
| |
| $ cat
| |
| [[cat]] ottaa muutaman väitteen, 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) 8.30
| |
| Copyright © 2018 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.
| |
| | |
| Jotkin ohjelmat vaativat väitteitä.
| |
| $ [[gcc]]
| |
| '''gcc: <span style="color: red;">fatal error:</span>''' no input files
| |
| compilation terminated.
| |
|
| |
| $ gcc '''ohjelma.c -o ohjelma'''
| |
| [ei tulostetta]
| |
| | |
| Joillain väitteillä on tarkentajia, jotka annetaan kyseisen väitteen jälkeen. Yleensä tarkentaja erotetaan väitteestä välilyönnillä, mutta monet ohjelmat hyväksyvät ja jotkut vaativat sen kirjoittamista yhteen väitteen kanssa. GNU-tyyliset pitkät väitteet erotetaan tarkentajistaan "="-merkillä. Jos tarkentajia on useampia, ne usein erotetaan toisistaan pilkulla, ilman välilyöntiä.
| |
| | |
| Väite, jolla voi olla tarkentaja, pitää laittaa väiteryhmän viimeiseksi:
| |
| komento -vglo tulostiedosto -d erotin tiedosto ...
| |
| Jos haluat käyttää tiedostoa, joka alkaa "-"-merkillä (''"-ihmetiedosto"'') tai jos viimeisellä väittellä on tarkentaja, jota nyt ei käytetä, väitteiden 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 väitteet? ===
| |
| Voit tarkistaa väitteet hakemalla netistä, katsomalla [[man]]-ohjelmalla ja usein väitteillä ''-h'' tai ''--help''.
| |
| | |
| === Yleisiä väitteitä ===
| |
| Muistutus: kaikki ohjelmat eivät käytä samoja väitteitä samoihin tarkoituksiin, joten voit tahattomasti vahingoittaa järjestelmääsi yrittäessäsi käyttää tuntemiasi väitteitä.
| |
| -f "force", "tiedän mitä teen, älä huoli"
| |
| -h "help", lyhyt [[dokumentaatio|ohje]] komennon käytöstä
| |
| -v "verbose", enemmän tietoa ohjelman edistymisestä tai tekemisistä suorituksen aikana (joissakin ohjelmissa <tt>-v</tt>:n määrittely useampaan kertaan (esimerkiksi <tt>-vvv</tt>) tuottaa vielä tarkempaa tietoa)
| |
| -V "version", ohjelman versio
| |
| -o "output", luotava tiedosto ([[GNU]]-ohjelmissa, sama onnistuu usein komentotulkin rakenteella > tiedosto)
| |
| | |
| == Erilaisia väitetyylejä ==
| |
| [[GNU]]-ohjelmistot käyttävät yleensä rinnan ensinmainittuja yhden kirjaimen väitteitä ja omia kahdella viivalla alkavia pitkiä väitteitään:
| |
| -h
| |
| --help
| |
| -v
| |
| --verbose
| |
| -V
| |
| --version
| |
| -o tiedosto
| |
| --output=tiedosto
| |
| [[BSD]]-perinteessä (?) väitteiden edessä ei käytetä viivoja eikä niitä voi jakaa ryhmiin:
| |
| [[ps]] aux
| |
| [[tar]] xzf kohdetiedosto.tar tiedosto1 tiedosto2 ...
| |
| [[X Window System|X]]-ohjelmissa käytetään väitteinä lyhenteitä tai kokonaisia sanoja. GNU-standardista poiketen kokonaisina sanoina määriteltäviä väitteitä ei edellä kuin yksi viiva (-).
| |
| -help
| |
| -version
| |
| -geometry 100x100
| |
| -bg taustaväri
| |
| Monet ohjelmat käyttävät useamman perinteen mukaisia väitteitä, 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ä väitteet 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ää väitteet, argc kertoo argv:n pituuden
| |
| //argv:n ensimmäinen solu sisältää ohjelman nimen
| |
| | |
| printf("Väitteittesi määrä on %i\n", argc);
| |
| | |
| for(int i=0; i<argc; ++i)
| |
| printf("Väite no. %i on: %s\n", i, argv[i]);
| |
| }
| |
| </syntaxhighlight>
| |
| Jos käännät tuon ohjelman tiedostoon "väiteotto", nämä tulostukset syntyvät:
| |
| $ ./väiteotto
| |
| Väitteittesi määrä on 1
| |
| Väite no. 0 on: ./väiteotto
| |
|
| |
| $ ./väiteotto jgaoirjg igaoierj
| |
| Väitteittesi määrä on 3
| |
| Väite no. 0 on: ./väiteotto
| |
| Väite no. 1 on: jgaoirjg
| |
| Väite no. 2 on: igaoierj
| |
| | |
| [[Luokka:Komentorivi]]
| |
| [[Luokka:Käsitteet]] | |