将参数传递给modulefile中的set-alias

Tar*_*jei 4 linux tcl modulefile

我尝试从bash shell加载包含别名的模块文件.该教程网页说,有关的设定alias命令如下:

set-alias alias-name alias-string

在用户环境中将名称为alias-name的别名或函数设置为字符串alias-string.可以使用Bourne Shell样式的函数参数指定参数.如果字符串包含"$ 1",那么当shell解释别名时,这将成为第一个参数.字符串"$*"对应于给别名的所有参数.可以使用'\'字符转义字符'$'.

对于某些shell,别名是不可能的,命令无效.对于Bourne shell派生类,将编写shell函数(如果支持)以给出别名的印象.卸载模块文件时,set-alias将变为unset-alias.

我想使用别名来创建一个命令,让我可以使用一些特定的参数启动给定的软件.任何人都可以请指出下面的语法有什么问题?

set-alias    cmd     "cmd $1 -cnf=/shared/$2 -ssh -etc"
Run Code Online (Sandbox Code Playgroud)

Don*_*ows 8

因为模块脚本是用Tcl编写的,所以需要在中引用Tcl元字符alias-string.最简单的方法是将别名放在{大括号中}而不是"双引号中".

set-alias cmd {cmd $1 -cnf=/shared/$2 -ssh -etc}
Run Code Online (Sandbox Code Playgroud)