首页 > 解决方案 > 将构造命令添加到 bash 历史记录

问题描述

我制作了一个 bash 函数来检索 cron 任务列表(来自 Magento)。我可以立即使用 FZF 搜索该(过滤的)列表,并通过 xargs 使用另一个命令运行选定的 cron。功能如下:

crf () { magerun2 sys:cr:li | grep -E '\*|-' | grep -v '+' | awk '{print $2}' | fzf --query=$1 | xargs magerun2 sys:cr:run; }

是否可以将刚刚通过 xargs 的命令添加到历史记录中,这样当我按下up箭头时,它会显示刚刚通过 xargs 的命令?

我在 Macbook Pro 上运行,使用 bash 版本 5.0.11(1)-release (x86_64-apple-darwin18.6.0) 和 tmux 3.0。

标签: bash

解决方案


是的,使用history -s

$ history -s my command
<PRESS UP KEY>
$ my command

编辑: 所以在你的情况下,它会像

crf () { 

CHRON=$(magerun2 sys:cr:li | grep -E '\*|-' | grep -v '+' | awk '{print $2}' | fzf --query=$1 ) 

for item in $CHRON ; do
    history -s $item
    magerun2 sys:cr:run $item
done 
}

推荐阅读