Shell 带选项的alias命令

Shell 带选项的alias命令,shell,sed,alias,Shell,Sed,Alias,我正在尝试将命令别名为带有选项的命令。基本上,我有一个命令my_tool-version,返回: 工具:我的工具v1.2.3.4 在该工具的新版本中,“我的工具”是指向“我的工具”1的链接,并且 my_工具-版本返回: 工具:我的工具1 v1.2.3.5 出于向后兼容性的原因,这很糟糕,我希望全局命令my_tool-version上有一个别名,它可以实现: my_tool_1 -version | sed 's/my_tool_1/my_tool/' 我试图将命令my_tool-version

我正在尝试将命令别名为带有选项的命令。基本上,我有一个命令my_tool-version,返回:

工具:我的工具v1.2.3.4

在该工具的新版本中,“我的工具”是指向“我的工具”1的链接,并且 my_工具-版本返回:

工具:我的工具1 v1.2.3.5

出于向后兼容性的原因,这很糟糕,我希望全局命令my_tool-version上有一个别名,它可以实现:

my_tool_1 -version | sed 's/my_tool_1/my_tool/'
我试图将命令my_tool-version作为别名,但它不想处理第二个参数。 有人知道如何做到这一点吗?

试试这个

echo "$(my_tool_1 -version 2>&1)" | sed 's/my_tool_1/my_tool/'

2> &1只是将发送到stderr的所有内容指向stdout。

虽然此代码可能有助于解决问题,但它没有解释为什么和/或如何回答问题。提供这种额外的环境将大大提高其长期教育价值。请在回答中添加解释,包括适用的限制和假设。