这是由于我的PS1变量被抬起(请参阅解答的答案部分)。
似乎我错过了shell内置bind
:
Mac Shell: ~/> $ bind '"4~":"for x in $(); do blah; done"'
# This is my F12 key
Mac Shell: ~/> $ fx in $(); do blah; doneor
注意:or
中的for
以及::space::
后面的for
最终会到达行尾。
任何人都可以指出我的错误方向吗?我检查man bash # shell builtin section
和man bind
无济于事。
Mac Shell: ~/> $ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.
谢谢你的时间!
答案 0 :(得分:0)
这是由于我的PS1变量中引用的ANSI颜色方案不正确引起的。基本上我需要\[
& \]
围绕每个颜色代码,以防止错误计算bash提示长度。
感谢大家试图帮助我解决这个问题。