Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Linux-terminaalin jännä komento

vesikuusi [13.01.2012 18:20:03]

#

Ihmettelin tässä, että mitä tekee semmoinen komento, kuin "'". Siis pelkkä yksittäinen lainausmerkki ('). Sen verran tiedän, että se antaa kirjoittaa mitä tahansa seuraavaan samanlaiseen merkkiin asti. Olen kokeillut suorittaa siinä erilaisia komentoja, mutta se ei näytä onnistuvan. Esim.

matias@matias-laptop:~$ '
> nautilus'
Komento ”nautilus” löytyy sijainnista ”/usr/bin/nautilus”
nautilus: komentoa ei löydy
matias@matias-laptop:~$ '
> /usr/bin/nautilus'
bash:
/usr/bin/nautilus: Tiedostoa tai hakemistoa ei ole
matias@matias-laptop:~$
matias@matias-laptop:~$ '
> \ nautilus'
matias@matias-laptop:~$

Googlaamalla en löytänyt tietoa, tämän asian googlaaminen onkin vähän hankalaa :D

Eli ei mitään tärkeää, kunhan kummastelen. Kiitos :)

Metabolix [13.01.2012 18:29:30]

#

Ei se ole mikään komento. Lainausmerkkeihin tai heittomerkkeihin voi kirjoittaa tekstin. "ABC" on täsmälleen sama asia kuin ABC. Sen sijaan välilyönnit ja rivinvaihdot katkaisevat normaalisti sanan mutta lainausmerkeissä eivät katkaise kokonaisuutta:

#!/bin/bash
# Funktio demonstraatiota varten, ei tarvitse ymmärtää.
tulosta() {
	local N=0 i
	for i in "$@"; do
		N=$(($N+1))
		echo "Parametri $N:"
		echo "$i"
	done
}
# Esimerkkejä parametreista.
tulosta kaksi parametria
tulosta "yksi parametri" 'toinen parametri'
tulosta "Tämän tekstin seassa on rivinvaihto
ja muuttuja: HOME=$HOME" 'Tässä tekstissä taas
muuttuja ei toimikaan: HOME=$HOME'

Voit tallentaa tämän koodin vaikka tiedostoon testi.sh, asettaa tiedostolle suoritusoikeuden (chmod +x) ja testata.

jalski [13.01.2012 18:31:19]

#

Eiköhän noiden heittomerkkien väliin yleensä laiteta argumentit, jotka sisältävät välilyöntejä tai shellin käyttämän syntaksin merkkejä.

vesikuusi [13.01.2012 18:38:17]

#

Ahaa, kiitos näistä :)

Metabolix [13.01.2012 18:42:59]

#

Saamasi virheilmoitukset johtuvat siis tietenkin siitä, että "nautilus" on olemassa mutta "<rivinvaihto>nautilus" ei. Voit kuitenkin käynnistää ohjelman, kun kirjoitat nimen ilman rivinvaihtoa (nautilus = 'nautilus' = "nautilus").

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta