如何停止在列表中的特定点

如何停止在列表中的特定点

我创建了一个名为 Blossom 的 shell 脚本,blossom()因为我女朋友的狗 Blossom 总是在地板上拉屎撒尿。

blossom() {
   echo poops and pees on floor all the time
}

因为我是一个好奇的孩子,我想搜索这个 shell 的存储位置并在某个论坛上找到它declare -f。所以我想在输出中找到它,但也要再次阅读它。

我有一些想法并尝试过

declare -f | grep blossom

好吧,那只显示了顶行blossom() {

所以我想,嗯...让我们尝试一下

declare -f | less

但这仍然太多,无法搜索......

关于什么

declare -f > test_file
nano test_file

好吧,这个确实解决了我想做的一些事情,我可以使用^W“Where at”并发现它没有问题。但这会创建一个文件,但我不想这样做。

如何使用一组特定的命令来预先搜索具有上下滚动功能的输出。也许使用less命令并进行预先搜索。这可能吗?

答案1

尝试以下方法lessblossom已搜索的内容开始:

declare -f | less -p blossom

来自以下文档less

-ppattern or --pattern=pattern
    The -p option on the command line is  equivalent  to  specifying
    +/pattern;  that  is, it tells less to start at the first occur‐
    rence of pattern in the file.

如果您的问题不那么笼统,并且您只需要 function 的源blossom,请使用以下内容:

declare -f blossom

相关内容