Willkürliche Syntax kann nicht gemacht werden, um etwas zu tun. Klammern sind Metazeichen , die für den Parser eine besondere Bedeutung haben. Sie können also nicht als gültige Namen verwendet werden. Der beste Weg, um die Shell zu erweitern, ist das Definieren von Funktionen.
Dies wäre ein einfacher echo
-Wrapper, der immer in dieselbe Datei schreibt:
Dies funktioniert ungefähr gleich, aber behandelt zusätzlich stdin - Opfern von echo's
-e
und -n
Optionen:
Dies kann als
bezeichnet werden %Vor%oder
%Vor%Funktionen werden wie alle anderen Befehle übergeben.
Der zweite echoähnliche Wrapper testet zuerst entweder auf ein erstes Argument setzen oder auf stdin, das von einem Nicht-Tty stammt und ruft printf unter Verwendung der Positionsparameter, falls gesetzt, oder stdin auf. Der Testausdruck vermeidet den Fall von Null-Argumenten und keine Umleitung von einer Datei. In diesem Fall würde Bash versuchen, die Ausgabe des Terminals zu erweitern, indem er die Shell aufhängt.
Sie verwenden beim Aufruf keine Klammern. So nennst du es:
%Vor%