Saxman hat geschrieben:Habens denn nun wenigstens was shellmäßiges anzubieten? Gerne auch für zsh oder mksh oder was anderweitig "exotisches".
Nicht wirklich.
Ich hab mir vor Jaaaaahren abgewöhnt die Shell zu sehr aufzupeppen weil ich dauernd vor fremden Systemen saß wo meine Anpassungen dann eventuell andere nur verwirrt hätten.
Und dabei bin ich geblieben und das empfinde ich als den einzig seeligmachenden Weg.
¡Ich benutze nichtmal 'n Alias für "ls -l"
!
Aber 'ne andere Schweinerei kann ich anbieten: Eine selbstmodifizierende BASH-Funktion:
Code: Alles auswählen
function Thing () { local set='shift;__=$1;shift;local $__="$*";eval "$FUNCNAME () { local $(local | tr "\n" " "); $(type $FUNCNAME | tail -n+5)"' get='shift;local __=$1;shift;echo ${!__}'; eval ${!1} ; }
Beispiel:
Code: Alles auswählen
yeti@xs9:~$ Thing set wyddlbrympht grynglfyx
yeti@xs9:~$ Thing get wyddlbrympht
grynglfyx
yeti@xs9:~$ declare -f Thing
Thing ()
{
local get='shift;local __=$1;shift;echo ${!__}' set='shift;__=$1;shift;local $__="$*";eval "$FUNCNAME () { local $(local | tr "\n" " "); $(type $FUNCNAME | tail -n+5)"' wyddlbrympht=grynglfyx;
eval ${!1}
}
yeti@xs9:~$ Thing set show 'echo $wyddlbrympht'
yeti@xs9:~$ Thing show
grynglfyx
Ganz böse das... aber eher akadämlich... war eher als Beweis der Machbarkeit gedacht und vielleicht kommt ja jemandem 'ne idee, wie man das irgendwie grenzwertig sinnstiftend bis zielführend oder alternativlos einsetzen kann um irgendwelche zentralen Eckpunkte zu stützen?