Lesen Sie die Benutzereingabe mit Leerzeichen in der csh-Shell-Skript

Ich habe ein Skript, wo der Benutzer sollte in der Lage sein, zu geben Sie eine Zeichenfolge mit Leerzeichen. Bisher habe ich:

#bin/csh

echo "TEST 1"
echo -n "Input : "
set TEST = $<

echo "Var | " $TEST

set TEST=`echo $TEST`

echo "Var after echo | " $TEST

set TEST=`echo $TEST | sed 's//_/g'`

echo "Var after change | " $TEST

Wenn ich geben Sie die Zeichenfolge "r r r" bei "Eingabe", "$TEST " würde nur "r". Ich möchte in der Lage sein, $TEST, "r r r". Ist das möglich?
Wenn ich einen string wie "1 1 1" bekomme ich eine Fehlermeldung:

set: Variable name muss mit a anfangen
Brief.

Was ist der Grund dafür?

Kann ich Punkt Sie zu faqs.org/faqs/unix-faq/shell/csh-whynot ? Es wird nicht Ihr problem lösen, aber es zeigt verschiedene Gründe, warum csh ist nicht die beste shell für die Programmierung 🙂
Ja. Normalerweise verwende ich den sh. In diesem Fall brauche ich zum navigieren in ein anderes Verzeichnis und immer noch da sein, wenn das script vorhanden ist. Ich mache das mit Quelle (alias aenew 'source ~/scripts/aenewc'). Also, wenn der Benutzer arbeitet in einer c-shell, die das Skript müsste auch in der "csh". Das ist der Grund, warum ich Griff zu csh in diesem Fall.
Ja. Normalerweise verwende ich den sh. In diesem Fall brauche ich zum navigieren in ein anderes Verzeichnis und immer noch da sein, wenn das script vorhanden ist. Ich mache das mit Quelle (alias aenew 'source ~/scripts/aenewc'). Also, wenn der Benutzer arbeitet in einer c-shell, die das Skript müsste auch in der "csh". Das ist der Grund, warum ich Griff zu csh in diesem Fall.

InformationsquelleAutor Gayan | 2009-04-22

Schreibe einen Kommentar