终端:如何将参数传递到别名中?

cho*_*on4 1 macos bash terminal

在添加到我的 $PATH 的目录中,我有以下文件:

filename="$1" day="$2" month="$3"
ruby -r "./SomeClass.rb" -e 'SomeClass.run($filename, $day, $month)'
Run Code Online (Sandbox Code Playgroud)

假设这个文件名为 someclass。当我在终端中输入 someclass 时,我的系统会将其识别为有效命令并正确运行相应的 Ruby 文件。但参数没有被传入。如何将参数传递到别名中?

anu*_*ava 5

如何将参数传递到别名中?

不要使用 an ,最好为此alias声明 a 。function您可以在 bash 函数中轻松传递参数并执行其他操作:

someclass() {
   # make sure enough arguments are passed in
   # echo "$1 - $2 - $3";
   filename="$1"; day="$2"; month="$3";
   ruby -r "./SomeClass.rb" -e "SomeClass.run($filename, $day, $month)";
}
Run Code Online (Sandbox Code Playgroud)