Shell

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

Shell

Beitrag von Valdez » 14.10.2009 09:58:53

ich habe bei einem freund gesehen das es eine art "autovervollständigen" gibt, wenn er in der shell befehle eingibt.

wie kann ich das ebenfalls bewerkstelligen ?

thx
<<its like 10.000 spoons when all you need is a knife>>

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell

Beitrag von GoKi » 14.10.2009 10:12:39

[TAB] drücken bei installiertem Debianbash-completion?
MfG GoKi
:wq

Benutzeravatar
a6km64
Beiträge: 100
Registriert: 09.10.2007 14:37:33

Re: Shell

Beitrag von a6km64 » 14.10.2009 10:23:49

mift Beitrag gefressen :)

also wenn du wie erwartet die bash (echo $SHELL o. more /etc/passwd|grep $USER) verwendest einfach die Tab-Taste drücken. Für eine Erweiterung dieser Vervollständigung die bash-completion (muss bei Bedarf geladen werden oder über die bashrc, siehe http://bash-completion.alioth.debian.org/. Sollte die Vervollständigung nicht eindeutig sein zeigt 2 mal [TAB] alle verfügbaren Möglichkeiten an.

freundliche Gr [TAB][TAB]
üße auen

Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

Re: Shell

Beitrag von Valdez » 14.10.2009 11:41:06

also es gibt ja prinzipiell die tab funktion in der shell.
sprich wenn man apt-get install eingeben will reichts wenn man apt-g + tab, i+tab eingibt. und die shell vervollständigt einem den befehl.


was aber kann ich mit bash-completion? vervollständigen ?
ich hab rausgefunden das bei der eingabe ssh + tab folgendes kommt:

Code: Alles auswählen

frank@2vwx1425:~$ ssh
::1                1427fagvw.mci.com  ff00::0            ff02::2            ip6-allhosts       ip6-allrouters     ip6-localnet       ip6-mcastprefix
1427fagvw          fe00::0            ff02::1            ff02::3            ip6-allnodes       ip6-localhost      ip6-loopback       localhost
faruk@2vwx1427:~$ ssh
womit ich aber nicht wirklich was anfangen kann.

?


ps ich bin schon dabei div howtos zu suchen / lesen gg
<<its like 10.000 spoons when all you need is a knife>>

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell

Beitrag von GoKi » 14.10.2009 13:05:51

Valdez hat geschrieben:was aber kann ich mit bash-completion? vervollständigen ?
Sofern installiert und aktiviert, siehe Link oben von a6km64, dann geht auf apt-get bezogen

Code: Alles auswählen

apt-get in[TAB]
apt-get install

Code: Alles auswählen

$ apt-get install bash[TAB]
bash             bash-completion  bash-doc         bash-static
bash-builtins    bashdb           bash-minimal
Für ssh kann man (sofern in known_hosts nicht nur hashes stehen) auch per TAB den Hostname des Zielrechners vervollständigen.

Code: Alles auswählen

$ ssh login[TAB]
login                                    login.sf.net
MfG GoKi
:wq

Benutzeravatar
whisper
Beiträge: 3379
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Shell

Beitrag von whisper » 14.10.2009 13:08:09

Dein Beispiel ist gar nicht schlecht, da aber deine /etc/hosts noch standard ist, kommt da nichts sinvolles.
Hättest du da jetzt deine 43 zu betreuende Server drin, dann würde z.B. ssh b [tab] zu ssh backup-server (jedenfalls wenn bei dir so einer drin steht.
Was es alles für completion Regeln gibt kannst du dir in der /etc/bash_completion ja einfach mal ansehen.
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Antworten