Ich versuche, ein Alias mit If-then-else Bedingung auf ein Ergebnis des Befehls zu haben.tcsh alias mit if-then-else Bedingung
- wird das Alias ein Dateimuster
- erhalten, wenn es nur eine Datei ist, wird es die Datei
- öffnen, wenn es mehr oder weniger als 1 Dateien - es mit einer Meldung anzeigt.
der Alias ich versucht habe, ist:
alias atest 'if \("ls \!:1" > 0 \) "nedit ls \!:1" else "echo cant open the file" '
Ich glaube nicht, dass Sie es mit einem Alias tun können. Verwenden Sie ein Shell-Skript. – Barmar
Wenn Sie 'ls \ !: 1' in Anführungszeichen setzen, wird der Befehl nicht ausgeführt. Sie vergleichen also nur die Zeichenfolge mit "0" und zählen nicht die Anzahl der Dateien, die mit dem Muster übereinstimmen. – Barmar
Sie brauchen etwas wie '\ 'ls \ !: 1 | wc -l \ "" um die Anzahl der Zeilen zu zählen, die mit dem Befehl gedruckt wurden. – Barmar