创建带有参数的别名的最短方法是什么?

kyo*_*kyo 1 unix linux bash alias

我有一个命令

\n
lsof -i :3000\n
Run Code Online (Sandbox Code Playgroud)\n

当我运行它时,我得到了这个

\n
\xe2\x9a\xa1\xef\xb8\x8flsof -i :3000                                                                                                             \nCOMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME                                                              \nnode    6803 bheng   13u  IPv6 0xa757c4ba1a0bf589      0t0  TCP *:hbci (LISTEN)                                                   \n
Run Code Online (Sandbox Code Playgroud)\n

我想创建此命令的别名,该别名采用参数作为我的端口号。

\n

我不想为此创建一个函数或任何东西。

\n
\n

我试过了

\n

alias checkport='lsof -i :$1'

\n

我想像这样使用它

\n
checkport 3000\n
Run Code Online (Sandbox Code Playgroud)\n
\n

结果

\n
\xe2\x9a\xa1\xef\xb8\x8fcheckport 3000                                                                                                            \nlsof: unacceptable port specification in: -i :                                                                                    \nlsof 4.89                                                                                                                         \n latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/                                                                 \n latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ                                                                   \n latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man                                                         \n usage: [-?abhlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]                                                                   \n [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]] [-p s]                                                                     \n [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]                                                     \nUse the ``-h'' option to get more help information.                                                                               \n
Run Code Online (Sandbox Code Playgroud)\n

che*_*ner 5

别名不带参数。而是定义一个函数。

checkport () {
    lsof -i ":$1"
}
Run Code Online (Sandbox Code Playgroud)

但是,由于别名的“参数”只是附加到别名扩展的末尾,因此您还可以定义

alias checkport='lsof -i :'
Run Code Online (Sandbox Code Playgroud)

两者的使用方式相同:checkpoint 3000.