我希望我的别名能够获取我在commandLine中传递的变量:
例如,startdocker 004
应执行以下
docker run -d -t -p 8080:8080 -v /var/source:/source -P mydockerregistry:5000/foo/bar:004
(004是我在commandLine中传递的标签)。
我在.bashrc中尝试了以下内容(更改后来源)。
alias startdocker='function dockerStartTag(){ echo "docker run -d -t -p 8080:8080 -v /var/source:/source -P mydockerregistry:5000/foo/bar: $1";};dockerStartTag'
当我运行startdocker 004
时,它没有拿起004。
它是空的,因此默认为"最新的"通过码头工人。
这样做的正确方法是什么?我做错了什么?
由于
修改
我不想回应但是执行命令。
下面提供了正确的答案
答案 0 :(得分:2)
没有理由将函数放在别名中。只是做
function startdocker(){ echo "docker run -d -t -p 8080:8080 -v /var/source:/source -P mydockerregistry:5000/foo/bar: $1"; }
这现在适用于我的系统:
$ startdocker 004
docker run -d -t -p 8080:8080 -v /var/source:/source -P mydockerregistry:5000/foo/bar: 004
实际运行它,我们只需要:
function startdocker(){ docker run -d -t -p 8080:8080 -v /var/source:/source -P mydockerregistry:5000/foo/bar: $1; }