Linux Bash中的Wrap/overwrite函数
我如何重写echo以在传递任何内容之前打印某些字符 我在想这样的事情,但它不起作用:Linux Bash中的Wrap/overwrite函数,linux,bash,shell,Linux,Bash,Shell,我如何重写echo以在传递任何内容之前打印某些字符 我在想这样的事情,但它不起作用: alias oldecho=echo echo(){oldecho ==> $1} 接近 builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程 不过,您的问题不是引用>的结束语 echo() { builtin echo "==>" "$@"; } builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程 不过,你的问题是没有引用>我不太清楚你的意
alias oldecho=echo
echo(){oldecho ==> $1}
接近
builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程
不过,您的问题不是引用>的结束语
echo() { builtin echo "==>" "$@"; }
builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程
不过,你的问题是没有引用>我不太清楚你的意思,但也许这会有帮助 别名echo='/bin/echo==\>$*' …这里我假设==>是您总是希望在前面加上前缀的字符
请注意反斜杠\,您需要它来防止>被解释为重定向。我不太清楚您的意思,但这可能会有帮助 别名echo='/bin/echo==\>$*' …这里我假设==>是您总是希望在前面加上前缀的字符
请注意反斜杠\,您需要它来防止>被解释为重定向。但是echo几乎总是作为shell内置命令调用,很少调用/bin/echo。特别是在bash中,正如OP所询问的那样。因此将其更改为内置echo。但是echo几乎总是作为shell内置命令调用,很少调用/bin/echo。特别是在bash中,正如OP所询问的那样。因此将其更改为内置echo。如何在箭头之前输入enter?+1用于使用内置并发现unquoted=>的问题@juanPSTAS:使用$'\n==>'或在内置命令前面加上printf'\n',甚至另一个内置echo.echo-ne\n==>将在newline@juanpastas:除了其他建议外,最简单的方法是在键入第一个后立即按enter键,即,在和前面=。如何在箭头前面输入?+1用于使用内置项并发现unquoted=>的问题@juanPSTAS:使用$'\n==>'或在内置命令前面加上printf'\n',甚至另一个内置echo.echo-ne\n==>将在newline@juanpastas:除了其他建议外,最简单的方法是在键入第一个之后即在和第一个之前按enter键。