帮助将bash函数写为单行别名

Modified on: Sat, 30 Jun 2018 09:33:00 +0800

如何将其写为别名?

p() {
    DIR=~/projects/$@
    pushd "$DIR"
}

这是我得到的,但它是std而不是xargs的管道stdin:

alias p="xargs printf ~/projects/%s | pushd"

作为一个功能它可能更好,但我觉得我会通过知道如何在一条线上写它并使管道正确来学习。

谢谢!

作者:Gilles,Raine

最佳答案

正如@AndreasWiese评论的那样,你不能用别名来做这件事。别名以空格分隔的参数为主,因此您无法(以简单的方式)将它们连接到别名命令。

对您的功能的评论:为什么使用$@?您应该使用$1。如果使用多个参数(p a b c)调用函数,则可能会出现错误(b: command not found未知目录


相关问答

添加新评论