Definir
bind TAB:menu-complete
e, em seguida, execute evince
TAB . Pressione TAB várias vezes para passar por arquivos diferentes.
No bash, ao estar sob um diretório, como podemos selecionar um arquivo ou subdiretório sem realmente digitar seu nome ou mesmo parte de seu nome?
Existe uma maneira de enumerar ou alternar os arquivos ou subdiretórios, por exemplo, como podemos usar o TAB para alternar entre várias coisas em uma página da Web?
Depende do aplicativo abrir o arquivo ou o subdiretório?
Se sim,
como podemos selecionar um subdiretório entre vários subdiretórios para cd
?
como podemos selecionar um arquivo pdf a partir de vários arquivos pdf para evince
?
Por exemplo,
$ ls .
subdir1 subdir2
$ cd
Podemos escolher subdir2
para cd
, sem digitar subdir2
ou qualquer parte dele? Idealmente, será bom usar a tecla Tab para selecionar e alternar entre subdir1
e subdir2
, para que possamos parar em subdir2
e então pressionar Retornar . / p>
Definir
bind TAB:menu-complete
e, em seguida, execute evince
TAB . Pressione TAB várias vezes para passar por arquivos diferentes.
Os arquivos podem ser enumerados com
for file in .* * do;
# if targeted at files:
test -f "$file" || continue
# if targeted at directories:
test -d "$file" || continue
# in both cases arises the question: What about symlinks?
done
ou (para economizar tempo para classificação) com
ls --quoting-style=escape | while IFS= read file; do...
: check type like above
done
find . -type f -maxdepth 1 -printf %f\n | while IFS= read -r file; do...
find . -type d -maxdepth 1 -printf %f\n | while IFS= read -r file; do...
(O find
variant não manipula nomes de arquivos estranhos.)
Tags bash