Hallo,
ich bin ja so ein Old-Schooler und liebe die TAB-Ergänzung und bin alt und will mir nicht alle möglichen Optionen von iptables merken...
Hat schon wer mal ein Script geschrieben, dass die bash-Ergänzung so erweitert, dass der iptables Befehl sich in etwa so benimmt wie das gute, alte Cisco IOS 12? Plus halt immer TAB.
Was ich meine, ist: ich tippe in der bash "iptables" und [TAB]. Noch einmal [TAB], und alle verfügbaren Optionen aber nur für iptables erscheinen. Ich tippe das Allernögiste, drücke wieder [TAB] usw usw.
Falls es sowas fertig noch nicht gibt: Groß mit complete habe ich mich noch nicht befasst. Wenn wer einen Link auf eine LESbare Seite hat und ned auf irgendwelche Videos...? Dankeschön!
Carsten
iptables: bash "complete" goes Cisco IOS?
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
iptables: bash "complete" goes Cisco IOS?
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Re: iptables: bash "complete" goes Cisco IOS?
fish war das glaube ich, was die Optionen aus den manpages holt und zur Vervollständigung anbietet, aber das ist natürlich eine andere Shell.
Für die Bash hab ich das gefunden, das ebenfalls die Optionen aus der Manpage holen soll (habs aber nicht ausprobiert):
https://github.com/aprescott/skel-complete
Für die Bash hab ich das gefunden, das ebenfalls die Optionen aus der Manpage holen soll (habs aber nicht ausprobiert):
https://github.com/aprescott/skel-complete
Re: iptables: bash "complete" goes Cisco IOS?
Ein Script wird im Paket bash-completion bereits mitgeliefert (siehe https://packages.debian.org/jessie/all/ ... n/filelist ), liegt in /usr/share/bash-completion/completions/iptables .
(sid) Auf "iptables [tab]" reagiert es nicht, auf "iptables -[tab]" mit "iptables --" (an der Stelle wären I,A,D usw. sinnvoll), sinnvoll reagiert es aber bei "iptables -I [tab]", dann werden die möglichen Varianten angezeigt. Das Script könnte also noch ein paar Schönheitskorrekturen vertragen.
Falls das bei Dir nicht anspringt, ist evtl die Vervollständigung für root nicht aktiviert. Für die /root/.bashrc hab ich den entsprechenden Codeschnipsel aus meiner /home/user/.bashrc genommen:
(sid) Auf "iptables [tab]" reagiert es nicht, auf "iptables -[tab]" mit "iptables --" (an der Stelle wären I,A,D usw. sinnvoll), sinnvoll reagiert es aber bei "iptables -I [tab]", dann werden die möglichen Varianten angezeigt. Das Script könnte also noch ein paar Schönheitskorrekturen vertragen.
Falls das bei Dir nicht anspringt, ist evtl die Vervollständigung für root nicht aktiviert. Für die /root/.bashrc hab ich den entsprechenden Codeschnipsel aus meiner /home/user/.bashrc genommen:
Code: Alles auswählen
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: iptables: bash "complete" goes Cisco IOS?
Top top top! Großes Dankeschön! Du hast Recht, ein paar Verbesserungen kann das Script sicher brauchen, aber jetzt jabe ich eine gute Grundlage zum Rumprobieren.eggy hat geschrieben:Ein Script wird im Paket bash-completion bereits mitgeliefert (siehe https://packages.debian.org/jessie/all/ ... n/filelist ), liegt in /usr/share/bash-completion/completions/iptables .
(sid) Auf "iptables [tab]" reagiert es nicht, auf "iptables -[tab]" mit "iptables --" (an der Stelle wären I,A,D usw. sinnvoll), sinnvoll reagiert es aber bei "iptables -I [tab]", dann werden die möglichen Varianten angezeigt. Das Script könnte also noch ein paar Schönheitskorrekturen vertragen.
Falls das bei Dir nicht anspringt, ist evtl die Vervollständigung für root nicht aktiviert. Für die /root/.bashrc hab ich den entsprechenden Codeschnipsel aus meiner /home/user/.bashrc genommen:
Carsten
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling