Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash中的Wrap/overwrite函数_Linux_Bash_Shell - Fatal编程技术网

Linux Bash中的Wrap/overwrite函数

Linux Bash中的Wrap/overwrite函数,linux,bash,shell,Linux,Bash,Shell,我如何重写echo以在传递任何内容之前打印某些字符 我在想这样的事情,但它不起作用: alias oldecho=echo echo(){oldecho ==> $1} 接近 builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程 不过,您的问题不是引用>的结束语 echo() { builtin echo "==>" "$@"; } builtin强制将命令的其余部分作为内置项执行,这简化了重新实现内置项的过程 不过,你的问题是没有引用>我不太清楚你的意

我如何重写echo以在传递任何内容之前打印某些字符

我在想这样的事情,但它不起作用:

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键。