Saya memilikinya di baris perintah:
ln -sf $PWD/wine-
dan kemudian saya menekan Tabuntuk melengkapi nama file. Dalam versi Ubuntu yang lebih lama, ini berfungsi dengan baik untuk melengkapi wine-
nama file (dan sebagai efek samping $PWD
akan diperluas pada saat itu). Tapi sekarang berubah menjadi
ln -sf \$PWD/wine-
yang bukan maksud saya sama sekali dan tidak menyelesaikan apa-apa karena file tidak benar-benar dimulai $
.
Bagaimana saya mendapatkan penyelesaian kembali ke perilaku yang kurang rusak?
set
beritahu saya ini adalah pengaturan saya saat ini:
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
command-line
bash
keturn
sumber
sumber
Jawaban:
Saya telah menemukan bahwa versi bash> = 4.2.29 memiliki
direxpand
pengaturan shopt baru . (Lihatman docs/bash.1
apakah Anda memeriksa bash baru, atau lihat bash.1 dari baris 8951 )Jika seseorang menggunakan Quantal Quetzal 12.10 atau mendapatkan (atau memeriksa dan membuat) bash baru, maka:
Memberi saya perilaku yang saya inginkan, butuhkan dan cintai.
Solusi: Sementara itu, Ctrl+ Alt+ Ealih-alih Tabmelakukan apa yang saya inginkan juga. Tapi canggung.
BTW, Ada beberapa utas yang disebut "pertanyaan ekspansi variabel bash tab?" di gnu.bash.bug . Dari membacanya, saya menemukan info di sini.
sumber
4.4.19
di Ubuntu 18.04 dan hanya berfungsi. Tidak yakin kapan ini berubah.cari
_filedir()
di skrip bash_completion tingkat atas dan ubah barisuntuk
sumber
compopt: noquote: invalid option name
Bagi mereka (seperti saya) dengan 12,04 dapat menggunakan ~ + bukannya $ PWD ...
sebagai contoh :
sumber
Bahkan dengan bash yang diperbarui, saya menemukan
$
masih lolos.bash-completion (1:2.1-3.fc20)
paket/etc/bashrc
dari~/.bashrc
tampaknya memperbaikinya.Saya kira sekarang saya akan kehilangan beberapa fitur yang biasanya saya gunakan tetapi belum melihat adanya.
Alternatif (setidaknya untuk Fedora 26), tambahkan
export BASH_COMPLETION_VERSINFO=0
sebelum sumber/etc/bashrc
. Ini membuat skrip yang bermasalah berpikir itu sudah bersumber.sumber
Saya mengalami masalah yang sama dengan Bash di Cygwin. Saya memperbaiki masalah saya dengan mengatur opsi berikut.
http://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html
sumber
Menonaktifkan opsi shell 'complete_fullquote' berfungsi:
sumber
Ini memperbaikinya bagi saya, itu juga menghapus banyak pilihan penyelesaian "cerdas" yang saya temukan menghalangi dengan tidak menyelesaikan file yang saya tahu ada di sana karena hal bodoh berpikir saya tidak ingin mereka sebagai argumen untuk argumen tertentu perintah. ARRRGH
sumber