"java Test" blir "java 1\:..Test" när jag tabbar? [LÖST]

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
maxim.
Inlägg: 58
Blev medlem: 21 okt 2007, 01:44
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Göteborg

"java Test" blir "java 1\:..Test" när jag tabbar? [LÖST]

Inlägg av maxim. »

När jag ska köra en java .class fil i terminalen och vill använda tab-funktionen uppstår följande problem:

Säg att jag vill köra filen Test.class . När jag skriver "java Te" och trycker på tab så vill jag att "java Test" ska hoppa fram, men istället blir det "java 1\:..Test" . Vilket inte går att köra.. När jag skriver hela "java Test" så kör den fint, så det är inget fel på filen.

Känns som om det kanske är någon sökvägsinställning eller nått som är fel..

Nån som vet hur jag kan fixa det här?
Senast redigerad av 1 maxim., redigerad totalt 10 gånger.
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: "java Test" blir "java 1\:..Test" när jag tabbar?

Inlägg av David Andersson »

Jag kan inte återskapa det i xubuntu 8.10.

Förklaring

Tab i bash aktiverar completion som kan konfigureras med kommandot complete. Kolla vilka completion-regler som finns med

Kod: Markera allt

complete
eller

Kod: Markera allt

complete | grep java
Om du tittar i ~/.bashrc så finns ett anrop till /etc/bash_completion . Den filen definierar upp alla completion-regler och hjälpfunktioner för dem.

Workaround

Enkel "lösning" 1. Prova att i terminalen skriva

Kod: Markera allt

complete -f java
När du sedan skriver java Te<TAB> bör den expandera till java Test. eller java Test.class . Du får sen trycka <Delete> en eller några gånger, men lite bättre än "1\:.." mitt i.

Enkel "lösning" 2.

Kod: Markera allt

complete -f -W "Test HelloWorld" java
När du sedan skriver java Te<TAB> bör den expandera till java Test precis som du vill, men bara för klasserna Test och HelloWorld!

Om någon av de "enkla" lösningarna är "tillräckligt" bra, så lägg det complete-kommandot sist i filen ~/.bashrc

En heltäckande lösning kan jag inte producera på rak arm. Det kan vara en bugg i /etc/bash_completion. I så fall är den bästa lösningen att anmäla den. Frågan är hur göra en proffsig buggrapport?
Användarvisningsbild
maxim.
Inlägg: 58
Blev medlem: 21 okt 2007, 01:44
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Göteborg

Re: "java Test" blir "java 1\:..Test" när jag tabbar?

Inlägg av maxim. »

Problemet försvann i 9.04 :-)

Tack ändå för svaret!
Skriv svar

Återgå till "Terminalforum"