bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PROMPT_COMMAND='history -a; history -n' causes shell hang in OX 10.1


From: Graham Jones
Subject: Re: PROMPT_COMMAND='history -a; history -n' causes shell hang in OX 10.10 Yosemite / bash 3.2.53
Date: Thu, 6 Nov 2014 12:39:06 +1100

Just out of curiosity, this mechanism is obviously something of a work around 
to give bash a single shared history in the same style as ksh had. 
Has there ever been any thought of providing a mechanism to support a single 
history session in a more native way? I know that zsh has the setopt 
share_history option to provide this (as I’ve tried this before finding I can’t 
get on with zsh for other reasons). Is there something about the way the 
history works in bash that makes it difficult to implement?

> On 6 Nov 2014, at 9:11 am, Piotr Grzybowski <narsil.pl@gmail.com> wrote:
> 
> On Wed, Nov 5, 2014 at 2:57 PM, Chet Ramey <chet.ramey@case.edu> wrote:
>> I still can't reproduce it on OS X 10.10: [..]
> 
> not only I cannot reproduce it at the moment, but also I have reached
> the following state (user: root):
> 
> # cat .bash_history
> ls -al
> #1415144153
> ls -al .bash_history
> #1415144154
> pwd
> #1415144159
> rm .bash_history
> #1415144161
> cd
> #1415144163
> pwd
> #1415144165
> rm .bash_history
> #1415144171
> i=0; while [ $i -lt 64 ]; do history -a; history -n; let i++; done;
> 
> # ls -alh .bash_history
> -rw-------  1 root  wheel   9.0M Nov  5 22:59 .bash_history
> 
> # du -sh .bash_history
> 9.0M    .bash_history
> 
> # hexdump -C .bash_history
> 00000000  6c 73 20 2d 61 6c 20 0a  23 31 34 31 35 31 34 34  |ls -al .#1415144|
> 00000010  31 35 33 0a 6c 73 20 2d  61 6c 20 2e 62 61 73 68  |153.ls -al .bash|
> 00000020  5f 68 69 73 74 6f 72 79  20 0a 23 31 34 31 35 31  |_history .#14151|
> 00000030  34 34 31 35 34 0a 70 77  64 0a 23 31 34 31 35 31  |44154.pwd.#14151|
> 00000040  34 34 31 35 39 0a 72 6d  20 2e 62 61 73 68 5f 68  |44159.rm .bash_h|
> 00000050  69 73 74 6f 72 79 20 0a  23 31 34 31 35 31 34 34  |istory .#1415144|
> 00000060  31 36 31 0a 63 64 0a 23  31 34 31 35 31 34 34 31  |161.cd.#14151441|
> 00000070  36 33 0a 70 77 64 0a 23  31 34 31 35 31 34 34 31  |63.pwd.#14151441|
> 00000080  36 35 0a 72 6d 20 2e 62  61 73 68 5f 68 69 73 74  |65.rm .bash_hist|
> 00000090  6f 72 79 20 0a 23 31 34  31 35 31 34 34 31 37 31  |ory .#1415144171|
> 000000a0  0a 69 3d 30 3b 20 77 68  69 6c 65 20 5b 20 24 69  |.i=0; while [ $i|
> 000000b0  20 2d 6c 74 20 36 34 20  5d 3b 20 64 6f 20 68 69  | -lt 64 ]; do hi|
> 000000c0  73 74 6f 72 79 20 2d 61  3b 20 68 69 73 74 6f 72  |story -a; histor|
> 000000d0  79 20 2d 6e 3b 20 6c 65  74 20 69 2b 2b 3b 20 64  |y -n; let i++; d|
> 000000e0  6f 6e 65 3b 0a 00 00 00  00 00 00 00 00 00 00 00  |one;............|
> 000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> *
> 00902b60
> 
> which puzzles me a bit.
> Now I lost even all my while-loop commands! :)
> Graham: did you actually logout and removed the history file, and
> therefore started fresh? Sorry I guess I lost track of what is going
> on here.
> 
> cheers,
> pg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]