O projektu: Jak to celé má fungovat

Linuxový shell

Cvičení

Soubory a souborový systém

SSŠVT

Emulace shellu v Linuxu

Jak to celé má fungovat

Založte si ve VS konzolový projekt (.NET 6). Projekt se bude jmenovat LinSh.

Vytvořte interaktivní aplikaci v konzoli, která se bude chovat jako linuxový shell (sh, bash, csh apod.).

Shell v Linuxu je velmi podobný příkazové řádce ve Windows (cmd.exe). Uživateli se vždy zobrazí tzv. prompt (nějaká stavová informace) a aplikace čeká na jeho vstup (uživatel musí zadat nějaký příkaz).

V promptu se uživateli zobrazí aktuální adresář a znak dolaru ($), za kterým následuje mezera, a dál už bliká kurzor, což indikuje, že appka čeká na uživatele, až zadá nějaký příkaz (co se má dál dělat).

V Linuxu neexistují logické disky (C:, D:, X:). Obejdeme to tak, že na začátku cesty uvedeme jméno logického disku, jako kdyby to byl podadresář kořenového adresáře. Adresáře v cestě k souboru/adresáři se v Linuxu oddělují znakem lomeno (/) – "dopředné lomítko", nikoliv backslash (\) jako ve Windows.

Příklad promptu:

/c/Users/foltyn$ _
        

Aktuální adresář ve Windows by byl: C:\Users\foltyn

Aplikace funguje v režimu tzv. REPL:

  1. R = READ
  2. E = EVALuate
  3. P = PRINT
  4. L = LOOP

Jinými slovy:

  1. Čekáme na vstup uživatele (Console.ReadLine()).
  2. Po zadání příkazu (případně s nějakými parametry) appka provede, co po ní uživatel chce.
  3. Po provedení příkazu appka vypíše výsledek na konzoli (pakliže je co vypisovat).
  4. Postup se opakuje od prvního bodu – opět se čeká na vstup od uživatele.