2017-02-14 2 views
1

ls/tmpLinux-Befehlszeile, umgekehrte polnische Notation

Wie kann ich den gleichen Befehl ausführen, aber mit umgekehrten polnischen Notation? Gibt es einen Modus, der es mir erlaubt, dies oder etwas ähnliches zu tun?

Ich kann xargs verwenden, aber das ist viel mehr Typisierung:

echo/tmp | xargs ls

Dies wäre ideal:

/tmp ls

oder

/tmp | ls

+1

Sie müssen selbst eine RPN-Shell schreiben. –

+1

Funktioniert RPN sogar mit Funktionen variabler Größe, z. B. Unix-Befehle? – user4815162342

Antwort

1

Bash (ich nehme an, Sie verwenden es) ist eine Shell für unixoide Systeme. Soweit ich weiß, bietet bash keinen solchen Modus. Sie könnten eine andere Shell verwenden, die diese Funktion bereitstellt. Im Internet suchen, war dies mein erstes Ergebnis: https://github.com/iconmaster5326/RPOS, aber vielleicht ist es weit davon entfernt, stabil;)

Alternativ können Sie einen Befehl machen, der seine Argumentliste umkehrt und es ausführt. Die Nutzung würde so aussehen:

reversex /tmp ls 
reversex A.txt B.txt cp 

Hier ist ein Beispiel für einen solchen Befehl:

#!/bin/bash 
for i in "[email protected]" 
do 
    CMDLINE="$i $CMDLINE" 
done 
$CMDLINE 

Wenn Sie nennen es /usr/local/bin/reversex und es ausführbar machen, sollten Sie in der Lage sein, einfach zu bedienen Rückwärts Befehle mit dem Präfix reversex. Ich kann keine Garantie geben, dass es funktioniert. Beachten Sie, dass die Argumente zweimal analysiert werden und auch zweimal maskiert werden müssen.