Tengo una cuenta en una máquina compartida y no puedo acceder a / usr / bin, donde hay muchos programas que nunca uso.
Me gustaría tabular para ignorar muchos de estos programas. Por ejemplo, me gustaría on<TAB>
completar oneprog
, pero hay otras coincidencias.
~> on
on_ac_power oneprog onto2vocabularyclass
¿Hay alguna manera de ocultar las otras dos coincidencias, sin crear un espejo de / usr / bin?
linux
command-line
path
tab-completion
Samizdis
fuente
fuente
/usr/bin
simplemente elimínelo de su$PATH
y luego bash no debería completarseRespuestas:
Asumiendo Bash ...
Puede definir sus propias reglas de autocompletar para opciones / argumentos, utilizando
complete
. Puede definir suficientes nombres de archivo que se ignoran en los argumentos al exportar la variable$FIGNORE
.Sin embargo, no creo que pueda alterar la forma en que Bash resuelve los nombres de los programas.
Podría, por supuesto,
alias
el programa que desea ejecutar, por lo que no tiene que escribir tanto:Usted podría (si se sentía tonta) alias el Bash builtin,
command
y utilizacomplete
para definir los argumentos está dispuesta a aceptar (la lista de programas bonito), y luego recuerda siempre que escriba su alias antes de su comando real.Consulte también Cómo hacer que el autocompletado ignore una finalización específica .
fuente