2016-07-10 12 views
0

EDIT: Ich dachte ursprünglich, dass meine Variable Eingabe von der Tastatur nicht akzeptiert. Ich habe meine Frage korrigiert, um das Problem genauer widerzuspiegeln.tsch: case-Anweisung bewertet nicht

Im folgenden Skript wird die case-Anweisung nicht ausgewertet.

Ich bin ziemlich neu in tcsh ... Ich will nur input_line Zeichen a annehmen - von der Tastatur d als Eingabe, die ich bin nicht sicher, es ist, und die switch-Anweisung ordnungsgemäß ausgeführt.

Ich lese Sobells "Ein praktischer Leitfaden für Linux-Befehle, Editoren und Shell-Programmierung." Meine Syntax scheint korrekt basierend auf dem Buch Kapitel 9 auf TCP, aber, an dieser Stelle habe ich keine Ahnung, was ich falsch mache.

Das Durchsuchen von SO führte nicht zu ähnlichen Fragen, also ist dies entweder schmerzhaft für viele offensichtlich oder noch niemand gefragt.

Kann man noch eine Erfahrung machen und meinen Fehler anzeigen?

#!/bin/tcsh 
# menu interface to simple commands 
set input_line = '' 
echo "\n  COMMAND MENU\n" 
echo " a. Current date and time" 
echo " b. Users currently logged in" 
echo " c. Name of the working directory" 
echo " d. Contents of the working directory\n" 
echo -n "Enter a, b, c, or d: " 
set input_line = "$<" 
# 
switch ($input_line) 
    case of [aA*]: 
      date 
      breaksw 
    case of [bB*]: 
      who 
      breaksw 
    case of [cC*]: 
      pwd 
      breaksw 
    case of [dD*]: 
      ls 
      breaksw 
    default: 
      echo "There is no selection: $input_line" 
      breaksw 
ends 

Nur klar zu sein, ich einen Skript bekommen kann, die genau die gleiche Sache in der Bash tut richtig zu arbeiten, aber ich bin auf Tcsh konzentriert.

Antwort

1

Diese Zeile:

set input_line = "$<" 

arbeitet gut. Das Problem ist, dass Sie die Syntax der case Etiketten falsch haben. Ändern Sie case of zu case und es sollte funktionieren.

(Ich bin neugierig, warum Sie dachten, die of notwendig war.()

+0

Ich glaube, ich dachte 'von' war notwendig, weil ich nicht wusste, es war falsch! Danke für die Hilfe! – NonCreature0714