我有一个命令
lsof -i :3000
当我运行它时,我得到了这个
⚡️lsof -i :3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 6803 bheng 13u IPv6 0xa757c4ba1a0bf589 0t0 TCP *:hbci (LISTEN)
我想创建一个这个命令的别名,它将一个参数作为我的端口号。
我不打算为此创建一个函数或任何东西。
alias checkport='lsof -i :$1'
我想像这样使用它
checkport 3000
⚡️checkport 3000
lsof: unacceptable port specification in: -i :
lsof 4.89
latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
usage: [-?abhlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]
[-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the ``-h'' option to get more help information.
答案 0 :(得分:3)
别名不带参数。改为定义一个函数。
checkport () {
lsof -i ":$1"
}
但是,因为别名的“参数”只是附加到别名扩展的末尾,所以你也可以定义
alias checkport='lsof -i :'
两者的使用方式相同:checkpoint 3000
。