[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash sometimes cannot find aliases
From: |
Greg Wooledge |
Subject: |
Re: Bash sometimes cannot find aliases |
Date: |
Tue, 30 Mar 2010 08:15:22 -0400 |
User-agent: |
Mutt/1.4.2.3i |
On Tue, Mar 30, 2010 at 02:36:59PM +0800, Clark J. Wang wrote:
> After some investigation I could stably reproduce this
> problem by following steps (tested with bash 3.1.17, 3.2.39 and 4.1.0):
>
> bash$ alias xx='echo 142857' ### Make sure there isn't an external cmd
> named `xx'
> bash$ export EDITOR=vi
> bash$ set -o vi
> bash$ ### Press ESC to get out of vi's INSERT mode
> bash$ ### Press v to invoke vi to input a cmd like `ls', save and exit,
> the `ls' cmd runs.
> bash$ xx
> -bash: xx: command not found
> bash$ xx
> 142857
Hmm... yes, I can reproduce that. After going into vi (by pressing 'v')
and running a command edited therein, bash remains in "command mode"
instead of going back to "insert mode". I have to hit Enter or Ctrl-c or
'i' before I can type normally again.
In order to reproduce your result, on the second to last bash$ prompt,
I would have to press something like 'ixx' or 'axx'. However, if I press
Enter and then 'xx', or Ctrl-C and then 'xx', I do _not_ get your result.
Tested in 3.2.39(1)-release and 4.1.2(2)-release.