Bash history-导致多行历史记录的多行字符串
我更喜欢将所有shell命令放在Bash history-导致多行历史记录的多行字符串,bash,Bash,我更喜欢将所有shell命令放在~/.bash\u history中的一行,因此我确保在~/.bashrc中设置cmdhist(shopt-s cmdhist) 这可以正常工作: $x在1-2中;做 >回音“$x” >完成 1. 2. $history-a $tail-n2~/.bash_历史 x在12;做回显“$x”;完成 历史-a 但是,当输入多行字符串时,它们似乎总是添加到历史记录中的多行: $echo”3 > 4" 3. 4. $echo'5 > 6' 5. 6. $history-a
~/.bash\u history
中的一行,因此我确保在~/.bashrc
中设置cmdhist
(shopt-s cmdhist
)
这可以正常工作:
$x在1-2中;做
>回音“$x”
>完成
1.
2.
$history-a
$tail-n2~/.bash_历史
x在12;做回显“$x”;完成
历史-a
但是,当输入多行字符串时,它们似乎总是添加到历史记录中的多行:
$echo”3
> 4"
3.
4.
$echo'5
> 6'
5.
6.
$history-a
$tail-n5~/.bash_历史记录
回声“3
4"
回声'5
6'
历史-a
这往往会弄乱解析~/.bash_历史文件和CTRL+R搜索的脚本(例如:搜索6
查找6'
,而不是完整的命令)
有没有办法调整这种行为?它是按预期工作还是一个bug
Bash版本:gnubashv5.0.17(1)-release
您是否可以查看lithist
是否已打开?如果没有,请尝试执行shopt-s lithist
lithist
已关闭。我打开了它,它似乎没有任何区别。你可以重新启动交互式shell一次,看看现在是否正确保存了行(在lithist
仍然打开的情况下),以及HISTTIMEFORMAT
的值是多少?在lithist
打开的情况下加载一个新的交互式shell,结果是相同的$HISTTIMEFORMAT
未设置。lisist
似乎修改了代码格式,但没有修改实际值。乍一看,要求litist
将多行字符串值存储为,例如,$'3\n4'
听起来并不是一个坏的功能请求。您是否可以查看litist
是否已打开?如果没有,请尝试执行shopt-s lithist
lithist
已关闭。我打开了它,它似乎没有任何区别。你可以重新启动交互式shell一次,看看现在是否正确保存了行(在lithist
仍然打开的情况下),以及HISTTIMEFORMAT
的值是多少?在lithist
打开的情况下加载一个新的交互式shell,结果是相同的$HISTTIMEFORMAT
未设置。lisist
似乎修改了代码格式,但没有修改实际值。乍一看,要求litist
将多行字符串值存储为,例如,$'3\n4'
听起来并不是一个糟糕的功能请求。