EDIT: J'ai d'abord pensé que ma variable n'acceptait pas l'entrée du clavier. J'ai corrigé ma question pour refléter plus précisément le problème.tsch: déclaration de cas n'évaluant pas
Dans le script ci-dessous, l'instruction case n'évalue pas.
Je suis assez nouveau pour tcsh ... Je veux juste input_line
à accepter les caractères a
-d
en entrée à partir du clavier, que je ne suis pas sûr qu'il est, et exécuter l'instruction switch correctement. Je lis Sobell's "Un guide pratique pour les commandes Linux, les éditeurs et la programmation Shell." Ma syntaxe semble correcte basée sur le chapitre 9 du livre sur tcsh, mais, à ce stade, je ne sais pas ce que je fais mal. La recherche par SO n'a pas donné lieu à des questions similaires, ce qui est soit douloureux pour beaucoup, soit impossible à poser pour l'instant.
Est-ce que quelqu'un d'autre peut jeter un oeil et indiquer mon erreur?
#!/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
Pour être clair, je peux obtenir un script qui fait exactement la même chose en bash fonctionne correctement, mais je suis concentré sur tcsh.
Je suppose que je pensais que 'de' était nécessaire parce que je ne savais pas qu'il était incorrect! Merci pour l'aide! – NonCreature0714