Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash history-导致多行历史记录的多行字符串_Bash - Fatal编程技术网

Bash history-导致多行历史记录的多行字符串

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

我更喜欢将所有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
$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'
听起来并不是一个糟糕的功能请求。