Muokataan sivua Väite
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
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ä. | ||
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 | |||
=== [[Python]] === | |||
Python varastoi väitteensä taulukossa sys.argv, joka kuuluu sys-kirjastoon. | |||
<syntaxhighlight lang="python"> | |||
#!/usr/bin/python3 | |||
import sys | |||
print("Väitteittesi määrä on", len(sys.argv)); | |||
for i in range(len(sys.argv)): | |||
print("Väite no.", i, "on:", sys.argv[i]) | |||
</syntaxhighlight> | |||
Jos tallennat tuon ohjelman tiedostoon "väiteotto.py", nämä tulostukset syntyvät: | |||
$ ./väiteotto.py | |||
Väitteittesi määrä on 1 | |||
Väite no. 0 on: ./väiteotto.py | |||
$ ./väiteotto.py jgaoirjg igaoierj | |||
Väitteittesi määrä on 3 | |||
Väite no. 0 on: ./väiteotto.py | |||
Väite no. 1 on: jgaoirjg | |||
Väite no. 2 on: igaoierj | |||
[[Luokka:Komentorivi]] | |||
[[Luokka:Käsitteet]] |