Odd Cygwin issue when having an alias in my .inputrc file

1

When adding some aliass to .inputrc I noticed my 'a' key wasn't working on my keyboard when using Cygwin Bash. Took out all my alias and my 'a' key started working again. For testing I stripped down my .inputrc to look like this:

alias foo='ls' 
set bell-style none

Here is what I noticed

  • If I type 'foo' at command prompt I get 'bash: foo: command not found'
  • I also can't type 'a' without a beep.
  • I also don't get any beeping so 'set bell-style none' was set.

If I take out 'set bell-style none' here is what I noticed:

  • My system beeps when I press 'a' but 'a' doesn't show on screen.
  • If I type 'foo' at command prompt I get 'bash: foo: command not found'
  • My system beeps.

If I take out "alias foo='ls'" here is what I noticed:

  • Pressing 'a' works.
  • Everything else works as normal.
  • If I type in "alias foo='ls'" and type "foo" I get a list of directories.

I went looking for some type of logged error but couldn't find anything.

Thanks, Michael

null_pointer

Posted 2014-03-07T18:28:11.027

Reputation: 229

Answers

4

The inputrc file control readline whereas ~/.bashrc is executed by bash. You should keep set bell-style none in ~/.inputrc and place alias foo='ls' in ~/.bashrc

user19087

Posted 2014-03-07T18:28:11.027

Reputation: 513

It might be worth explaining what the alias line was actually causing Readline to do, and hence the beeps. – JdeBP – 2014-03-08T13:53:32.297

I really have no idea, as alias foo='ls' is completely incorrect syntax. I presume (unless disabled by a previous configuration setting) that readline would ring the bell in an attempt to warn the user when it encounters (attempts to execute) an incorrect key binding. – user19087 – 2014-03-08T20:46:47.373

It's incorrect syntax that gets treated as a binding for the character that is the first letter of the word "alias", because Readline's configuration file parser has some poor error checking. (-: – JdeBP – 2014-03-09T03:24:50.200