Startpagina > Omgeving & hulpmiddelen > csh

csh: C shell uitvoeren en scripts

csh (C Shell) is een opdrachtregelinterpreter en scripttaal die wordt gebruikt in Unix-achtige systemen. Het biedt een syntaxis die vergelijkbaar is met de C-taal, waardoor het bekend is bij programmeurs, en bevat functies zoals commando-geschiedenis, aliassen en taakbeheer. Het wordt voornamelijk gebruikt voor interactieve shells of het uitvoeren van shellscripts.

Overzicht

csh is een shell die eind jaren zeventig werd ontwikkeld. In tegenstelling tot de Bourne shell (sh) biedt het besturingsstructuren (if, while, foreach, etc.) die vergelijkbaar zijn met de C-taal. Hoewel het gebruiksvriendelijke functies en krachtige scriptingmogelijkheden heeft, kan het bij het schrijven van complexe functies of scripts complexer zijn of onverwacht gedrag vertonen in vergelijking met Bourne shell-varianten (bash, zsh).

Belangrijkste kenmerken

  • Syntaxis vergelijkbaar met C-taal
  • Commando-geschiedenis en alias-functie
  • Ondersteuning voor taakbeheer (job control)
  • Omgevingsvariabelenbeheer (set, setenv)

Belangrijkste opties

Dit zijn de belangrijkste opties die u kunt gebruiken bij het uitvoeren van het csh-commando.

Uitvoering en debugging

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`csh` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Dit zijn verschillende voorbeelden van het gebruik van het csh-commando.

Interactieve C shell starten

csh

Start een nieuwe interactieve C shell-sessie.

Enkel C shell commando uitvoeren

csh -c 'echo "Hello from Csh!"'

Voert een specifiek commando uit met csh en sluit de shell af.

C shell script uitvoeren

csh my_script.csh

Voert het bestand my_script.csh uit als een C shell script. (Het scriptbestand moet uitvoeringsrechten hebben.)

Script uitvoeren in gedetailleerde modus

csh -v my_script.csh

Elk commando wordt naar standaardfout weergegeven voordat het script wordt uitgevoerd, wat nuttig is voor debugging.

Script uitvoeren in commando echo-modus

csh -x my_script.csh

Elk commando in het script wordt weergegeven voordat het in uitgebreide vorm wordt uitgevoerd.

Installatie

csh is standaard geïnstalleerd op veel Unix- en Linux-systemen, maar op sommige minimale installaties moet het mogelijk handmatig worden geïnstalleerd. Hier leest u hoe u csh installeert op de belangrijkste distributies.

Debian/Ubuntu-gebaseerde systemen

sudo apt update
sudo apt install csh

Installeer csh met de apt-pakketbeheerder.

Red Hat/CentOS/Fedora-gebaseerde systemen

sudo yum install csh  # of sudo dnf install csh

Installeer csh met de yum- of dnf-pakketbeheerder.

Tips & Aandachtspunten

Dit zijn nuttige tips en aandachtspunten bij het gebruik van csh.

Verschillen met Bourne shell

csh heeft veel syntactische verschillen met Bourne shell-varianten zoals bash, sh en zsh. Vooral de manier van variabele declaratie en toegang, voorwaardelijke statements en lusstructuren verschillen aanzienlijk, dus wees voorzichtig bij het schrijven van scripts.

  • Variabele instellen: csh: `set var = value`, `setenv VAR value` Bourne shell: `var=value`, `export VAR=value`
  • Voorwaardelijke statements: csh: `if (condition) then ... endif` Bourne shell: `if [ condition ]; then ... fi`
  • Arrays: csh gebruikt 1-gebaseerde indexering voor arrays.

Gebruik van tcsh aanbevolen

csh wordt niet meer actief ontwikkeld. Op de meeste moderne systemen wordt het gebruik van tcsh (TENEX C Shell), een verbeterde versie van csh, aanbevolen. tcsh bevat alle functies van csh en biedt extra functies zoals opdrachtregelbewerking, verbeterd geschiedenisbeheer en programmeerbare voltooiingsfuncties.

Meer voor interactieve shells dan voor scripting

Hoewel csh uitstekend is als interactieve shell, worden Bourne shell-varianten (bash, zsh) over het algemeen de voorkeur gegeven voor het schrijven van complexe scripts, omdat ze krachtiger, flexibeler zijn en minder onverwacht gedrag vertonen. csh-scripts kunnen compatibiliteitsproblemen veroorzaken of bugs introduceren in specifieke situaties.


Hétzelfde categoriecommando