可以编写一个bash函数或脚本来启动下一个命令吗



是否可以在.bashrc中编写函数或脚本,当从命令行调用时,该脚本将启动下一个命令。

因此,如果我有这样定义的函数:

el() {
c0='less +G /var/log/very/long/base/'

# something happens here
} 

我希望能够做到这一点:

$ el
$ less +G /var/log/very/long/base/_

也就是说,我不想键入长的部分,我只想键入el,然后将其余部分插入到下一个命令中,我可以这样完成:

$ less +G /var/log/very/long/base/path.log

我知道我可以在一个单独的tty上回显到stdout,所以也许可以稍微延迟一下管道stdin。或者bash中可能内置了一些东西。有人做过类似的事情吗?

您可以使用alias而不是函数,甚至是环境变量,让我们称之为EL。使用后者,您可以编写类似的内容

# $EL  <-- press tab here to show EL's value and complete

这将起作用。

el() { less +G /var/log/very/long/base/; } 

您也可以设置别名,但当您退出终端会话时,该别名将消失。

alias el="less +G /var/log/very/long/base/"

要使别名永久化,请将该行添加到.bash_aliases

echo 'alias el="less +G /var/log/very/long/base/"' >> .bash_aliases

您还可以在.bashrc文件中添加该函数,该文件将在每次启动终端会话时创建该函数。

相关内容

  • 没有找到相关文章

最新更新