Ero sivun ”Väite” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
p (ohjaus alkuperäis artikkeliin, vaikka kyseisen termin sopivuus on kyseenalainen)
Merkkaus: Uusi ohjaus
 
(Yhtä välissä olevaa versiota samalta käyttäjältä 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
 
=== [[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]]

Nykyinen versio 30. toukokuuta 2022 kello 10.25

Ohjaus sivulle: