
Angenommen, ich möchte einen Alias namens ss
für den Befehl erstellen sudo -s
. Da es sich jedoch bereits um einen vorhandenen Befehl handelt, möchte ich einen weiteren Alias namens für den Befehl ss
erstellen .sst
ss
Wenn Sie nur die normalen Befehlsnamen verwenden, ist dies nicht möglich, da Aliase:
- Sind nicht in einer Weise eingestellt, die die Reihenfolge respektiert, und
- Referenzieren Sie andere Aliase, anstatt nur auf Befehle zu verweisen
Wenn ich also Folgendes versuche:
alias sst='ss'
alias ss='sudo -s'
Das Ausführen des Befehls sst
führt zum Ausführen von sudo -s
, was nicht meine Absicht ist.
Wie kann das erreicht werden?
Antwort1
Damit das oben genannte funktioniert, müssen Sie auf den absoluten Pfad des Befehls verweisen, den Sie ausführen möchten.
Dies kann folgendermaßen erfolgen:
alias sst='/usr/bin/ss'
alias ss='sudo -s
Man kann jedoch nicht immer sicher sein, ss
dass man sich an diesem Ort befindet, daher wäre ein zuverlässigerer Ansatz:
alias sst='$(which ss)'
alias ss='sudo -s
Jetzt funktioniert das oben genannte wie erwartet, wobei der Befehl ss
ausgeführt sudo -s
wird .sst
ss