#!/bin/bash alias whn='docker run -itd --name "$1" -h "$2" "$3"' 传入参数失败
时间: 2023-06-26 19:06:23 浏览: 56
您的脚本中,alias命令用于创建别名,而不是定义函数或脚本。因此,它无法接受参数。
如果您想要传递参数,可以使用函数来替代alias。以下是一个示例:
```
whn() {
docker run -itd --name "$1" -h "$2" "$3"
}
```
然后,您可以使用`whn`函数并传递参数,例如:
```
whn container_name host_name image_name
```
请注意,这里的函数名称为`whn`,而不是`alias`。
相关问题
#!/bin/bash alias whn='docker run -itd --name "$1" -h "$2" "$3"' 传入参数失败
你的脚本中使用了别名(alias)定义命令,这种方式不能接受参数。你可以将别名改为函数,函数可以接受参数。修改后的脚本如下所示:
```
#!/bin/bash
whn() {
docker run -itd --name "$1" -h "$2" "$3"
}
```
然后在命令行中执行该脚本,即可调用该函数并传入参数:
```
$ source your_script.sh
$ whn container_name host_name image_name
```
请注意,为了使定义的函数在当前 shell 中生效,需要通过 `source` 命令来加载脚本。
#!/bin/bash alias whn="docker run -itd --name '$1' -h '$2' '$3'" 传入参数报错
你可以尝试修改一下你的脚本,改为:
```bash
#!/bin/bash
alias whn='docker run -itd --name "$1" -h "$2" "$3"'
```
然后在命令行中执行:
```bash
$ source your_script.sh
$ whn container_name host_name image_name
```
注意,这里的`your_script.sh`是你保存脚本的文件名。另外,使用`source`命令来执行脚本可以保证别名可以在当前 shell 中使用,否则别名只能在当前脚本中使用。
阅读全文