2014-10-28 7 views
8

Piszę prosty skrypt bash, w którym proszę użytkownika o plik wejściowy, aby następnie wykonać.Skrypty Bash - Pytanie użytkownika o plik wejściowy, jak sprawić, by działanie tab-completion działało?

Aktualnie używam polecenia read -p. Nie działa jednak z wbudowanym uzupełnieniem nazw plików/katalogów w systemie UNIX. Za każdym razem, gdy wciskam klawisz Tab w tym podpowiedzi, mój terminal po prostu pomija przestrzenie podobne do funkcjonalności Tab w edytorze tekstu. Czy istnieje sposób na włączenie tego?

Odpowiedz

12

Zastosowanie -e:

#!/bin/bash 
read -e -p "Enter filename, use tab for completion: " file 
ls -l "$file" 

-e używa biblioteki readline do odczytu wejścia, tak jak to robi bash na swoim wierszu. Pozwala to nie tylko na uzupełnianie nazw plików, ale także używanie klawiszy strzałek, home/end, edycję vi i podobną dobroć.

+0

Dzięki! Łatwa naprawa. –

Powiązane problemy