#!/bin/bash alias whn='docker run -itd --name "$1" -h "$2" "$3"' 传入参数失败
时间: 2023-06-26 12:06:34 浏览: 173
你的脚本中使用了别名(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 中使用,否则别名只能在当前脚本中使用。
#!/bin/bash alias drh="docker run -itd --name $1 --hostname $2 nginx:latest" 失败传入参数
这段 Bash 脚本定义了一个名为 `drh` 的别名,用于在 Docker 中运行一个名为 `$1`、主机名为 `$2` 的 NGINX 容器。`$1` 和 `$2` 是通过脚本参数传入的。
如果执行这个脚本时没有传入参数,那么 `$1` 和 `$2` 就会为空,从而导致 Docker 命令执行失败。
要正确地使用这个脚本,需要在执行时传入两个参数,例如:
```
$ drh mynginx myhostname
```
这将会在 Docker 中运行一个名为 `mynginx`、主机名为 `myhostname` 的 NGINX 容器。
阅读全文
相关推荐












