Basis van Linux en de opdrachtregel

$ name=world
$ echo 'Hello $name'
$ echo "Hello $name"

Wat is de uitvoer van de twee echo-commando's als de bovenstaande commando's in volgorde worden uitgevoerd?

  1. ADe eerste is Hello world en de tweede Hello $name
  2. BZowel de eerste als de tweede is Hello world
  3. CDe eerste is Hello $name en de tweede Hello world
Antwoord en toelichting tonen

Antwoord: C. De eerste is Hello $name en de tweede Hello world

In de shell wordt een deel tussen enkele aanhalingstekens ('…') letterlijk genomen, en variabelen zoals $name worden niet geëxpandeerd. Tussen dubbele aanhalingstekens ("…") worden variabelen wel geëxpandeerd, dus de tweede wordt Hello world. Dubbele aanhalingstekens worden ook gebruikt om de waarde van een variabele als één argument te laten behandelen, ook als die spaties bevat. Merk op dat in de toekenning „name=world” geen spaties rond de = mogen staan.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van Linux en de opdrachtregel

  1. Zoals hierboven te zien is, wordt het script s.sh met argumenten uitgevoerd. Wat is de uitvoer?
  2. In welk geval is de voorwaarde van de bovenstaande if in een shellscript waar?
  3. Welke bestanden staan na de bovenstaande sessie in de directory?
  4. Een uitvoerbaar script run.sh in de huidige directory geeft „command not found” als het wordt gestart door „run.sh” te typen, maar wordt wel uitgevoerd als „./run.sh” wordt getypt. Wat is de reden?
  5. Wat is de combinatie van de uitvoer van de twee bash -c-commando's als de bovenstaande commando's in volgorde worden uitgevoerd?