Bash Auto-complete Menambahkan Trailing Slash Setelah Nama File

9

Baru-baru ini saya memutakhirkan sistem saya dari Etch ke Lenny. Sekarang ketika saya menggunakan pelengkapan otomatis, nama file (bukan direktori) muncul dengan garis miring pada baris perintah.

Tampaknya terkait dengan beberapa (semua?) Perintah. Saya mencoba beberapa:

aj@mmdev0:~/loadtest$ vi pyloadtools3.py/
aj@mmdev0:~/loadtest$ cat pyloadtools3.py/
aj@mmdev0:~/loadtest$ file pyloadtools3.py/
aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/

Bagaimana cara saya memperbaikinya?

AJ.
sumber
Apakah ia melakukan ini terlepas dari perintah di awal baris atau hanya untuk beberapa yang tertentu? Misalnya: cat filen[TAB]vs.somecommand filen[TAB]
Dijeda hingga pemberitahuan lebih lanjut.
3
Mungkin ada masalah dengan skrip / etc / bash_completion. Coba instal ulang paket bash_completion. Apakah masih ada masalah?
W_Whalley
1
@W_Whalley - itu dia. Silakan posting ini sebagai jawaban sehingga saya bisa memberi hadiah kepada Anda hadiah. Terima kasih!
AJ.
1
@W_Whalley - FYI karunia berakhir dalam 1 hari. Silakan kirim jawaban Anda di bawah sehingga saya dapat memberi Anda kredit. Sekali lagi terima kasih atas bantuan Anda!
AJ.
2
Saya mengalami masalah ini pada Mac OS dengan GNU bash 3.2.57. Terkadang itu hanya terjadi . Sebagai contoh, saya memiliki 5 terminal windows terbuka yang menjalankan bash sekarang, dan hanya satu dari mereka yang melakukan ini. Saya pikir @scy benar tentang ini masalah readline menjadi, tetapi mark-directoriesmenjadi onseharusnya tidak menjadi masalah. Saya kira saya telah tersesat CTRL-somethingdi beberapa titik dan merusak terminal khusus ini.
Christopher Schultz

Jawaban:

4

Ini adalah file dan potongan file yang menurut saya menarik untuk masalah ini. Perhatikan bahwa saya menjalankan Ubuntu 10.04

Anda mungkin dapat mengetahui apa masalahnya dari file konfigurasi saya. Kalau tidak, mungkin pertimbangkan untuk memposting konfigurasi yang sesuai.

bagian terakhir ~ / .bashrc

# 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 [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

40% turun halaman di /etc/bash.bashrc (Apakah Anda memiliki bagian ini juga dikomentari?)

# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

Saya menemukan artikel-artikel ini menarik:

http://www.linux.com/archive/feed/54005

http://www.debian-administration.org/articles/316

Saya harus melakukan penelitian lebih lanjut ... tapi inilah yang saya dapatkan sejauh ini.

coba jalankan ini di terminal dan kemudian lihat apakah Anda masih memiliki masalah:

. /etc/bash_completion

Sunting: menemukan bahwa penyelesaian-tab ditangani oleh / etc / bash_completion. Banyak perintah linux juga memiliki pengaturan penyelesaian tab sendiri di direktori /etc/bash_completion.d/.

Orang lain juga memiliki masalah ini:

http://forums.gentoo.org/viewtopic-t-751913-start-0.html

https://bugzilla.redhat.com/show_bug.cgi?id=583919

Ini bisa jadi bug di versi bash Anda. Jadi sekarang pertanyaan sebenarnya adalah ... Versi bash apa yang Anda miliki?

Hanya saja solusinya mudah ditemukan untuk orang lain yang memiliki masalah ini:

"Mungkin ada masalah dengan skrip / etc / bash_completion. Coba instal ulang paket bash_completion. Apakah masih ada masalah? - W_Whalley"

-Lihat komentar

James T
sumber
1
sudo su -
# bash completion
line=`awk '/enable bash completion/ {print NR}' /etc/bash.bashrc`
sed -i.backup "$((line+1)),$((line+3))s/^#//g" /etc/bash.bashrc


# bash completion fork: http://code.google.com/p/bash-completion-lib/
apt-get install -y bash-completion-lib
SergioAraujo
sumber
0

Ini tidak terkait dengan penyelesaian yang dapat diprogram sama sekali. Sebagai gantinya, ini merupakan pengaturan garis baca sederhana . Coba tambahkan

set mark-directories Off

untuk Anda ~/.inputrc.

(Omong-omong, saya menemukan ini setelah mencari man bashselama dua menit.)

scy
sumber
mark-directories (On) - If set to On, completed directory names have a slash appended. Tidak jelas bahwa ini adalah sumber masalahnya ...
medina