我安装了一个名为zeus
的程序。它允许我运行这样的命令:
zeus parallel_rspec spec/
parallel_rspec
是由zeus运行的命令,而spec/
是parallel_rspec
命令所需的目录。
我在.profile
:
alias rsp='zeus parallel_rspec'
所以,我可以运行这样的命令:
rsp spec/ # => equal to `zeus parallel_rspec spec/`
但spec/
目录很常见(95%的情况)。默认情况下如何设置rsp
别名通过spec/
文件夹参数(如果我没有传递其他内容,例如spec/blablabla
)?
答案 0 :(得分:6)
Bash具有变量默认值的语法:
${VARNAME:-default}
因此,在您的情况下,您需要使用如下所示的函数:
rsp() { zeus parallel_rspec "${1:-spec/}" }
或者如果您想传递更多选项,以防万一:
rsp() {
folder="${1:-spec/}"
shift 1
zeus parallel_rspec "$folder" "$@"
}
答案 1 :(得分:4)
您应该使用函数:
function rsp {
[ -z "$1" ] && zeus parallel_rspec spec/ || zeus parallel_rspec "$1"
}
您可以将其添加到个人资料或bashrc中。如果你没有为函数$1
提供参数将为空,那么它将使用/spec
作为路径,否则它将使用参数