"*" Zeichen im Skript verwenden

30/11/2007 - 13:55 von Stefan Sprungk | Report spam
Ich möchte ein selbstgeschriebenes Skript von einem Rechner mit
SUN-Solaris 9 auf einen neuen Rechner mit einem speziell von Checkpoint
gehàrtet RedHat Linux portieren. Das Skript làuft in der C-Shell. Es
übernimmt die Verwaltung von Logdateien. Es werden Befehlsketten
aufgebaut, die regulàre Ausdrücke enthalten. Auf dem neuen System
schaffe ich es leider nicht, in eine Zeichenkette das Zeichen "*"
einzubauen. Ich habe bereits versucht dieses Zeichen mit \,\\\ und \\\\\
auszumaskieren. Mit dem Zeichen "+" z.B. gibt es keine Probleme.

Um das Problem zu veranschaulichen, möchte ich mal das Protokoll über
folgende Fingerübung hineinkopieren.

### Ohne Maskierung ###

[Expert@sv9417]# csh
[root@sv9417 ~]$
[root@sv9417 ~]$ set abctest="abcd"
[root@sv9417 ~]$ set stern="*"
[root@sv9417 ~]$ set atest=$abctest$stern
set: No match.
[root@sv9417 ~]$ set stern="+"
[root@sv9417 ~]$ set atest=$abctest$stern
[root@sv9417 ~]$ echo $atest
abcd+
[root@sv9417 ~]$

### Mit Maskierung ###
[root@sv9417 ~]$ set stern="\*"
[root@sv9417 ~]$ set atest=$abctest$stern

Oder

[root@sv9417 ~]$ set stern="\\\*"
[root@sv9417 ~]$ set atest=$abctest$stern

Mir ist nicht klar, wie ich hier das Metazeichen "*" in einen
Befehlsstring eingebaut bekomme.

Achso noch eine Kurzinfo zum System.

Linux sv9417 2.4.21-21cpsmp #1 SMP Sun Feb 11 18:18:33 IST 2007 i686
i686 i386 GNU/Linux

MFG Stefan
 

Lesen sie die antworten

#1 Juergen P. Meier
30/11/2007 - 14:39 | Warnen spam
Stefan Sprungk :
Das Skript làuft in der C-Shell.



Portiere es bei der Gelegenheit am besten gleich in eine sauber
scriptbare POSIX bourne shell.

Ähnliche fragen