I have an application (not my own) that I run on two different CentOS6 machines with 2.6.32-696 kernels. The application is a command line driven (it has its own prompt once started) data analysis and graphing routine. On one machine, command line completion works from the app for files (i.e. if I say "read bob" it lists all the files starting with "bob" in the current directory). On the other machine, completion doesn't work at all. I've tried different shells, and looked at environments variables, but haven't been able to identify anything to explain the different behavior. Are there general system settings I can look for or compare between the machines to try to resolve this inconsistent behavior?
Additional details in response to comments:
shells I have tried:
on the machine where completion works, it works running from bash (default on that machine) and it works if I switch to tcsh.
on the machine where completion fails, it fails from both tcsh (default on that machine) and bash.
New information:
I just discovered that on the machine where I can't get filename completion from the apps CLI, I do get completion if I login as root (not su or sudo but interactive console login as root). I would guess this then points to a permissions or environment issue, but I don't know what to look for...
complete -p <name-of-application>
(assuming bash) from both systems to the question, please. Also, "different shells"? Completion settings are shell-specific, so please which shells you are using as well. – muru Mar 29 '18 at 01:53compete -p physica
returns: bash: complete: physica: no completion specification – PaulV Mar 29 '18 at 12:29shopt nullglob
. There is a bug (which I have not reported yet) in Debian Jessie (not in Ubuntu but something similar may be the case with CentOS): Ifnullglob
is set too early in the login process then completion gets destroyed. Does it work if you start a shell like this?bash --init-file /dev/null --noprofile
– Hauke Laging Mar 30 '18 at 11:48