shell脚本 当输入参数为空时提示重新输入参数 一直到输入不为空继续
时间: 2023-09-24 17:05:59 浏览: 238
您好,以下是一个示例的 shell 脚本,它会提示用户输入参数,如果参数为空则会一直提示用户重新输入,直到输入不为空为止:
```bash
#!/bin/bash
while [ -z "$1" ]
do
echo "请输入参数:"
read -r arg
set -- "$arg" # 将用户输入的参数设置为当前脚本的参数
done
echo "您输入的参数为: $1"
```
脚本的主要逻辑是通过 `while` 循环来判断用户输入的参数是否为空,如果为空则会提示用户重新输入,直到输入不为空为止。在用户输入不为空时,将输入的参数设置为当前脚本的参数,并输出该参数。请注意,`$1` 表示当前脚本的第一个参数,而 `set -- "$arg"` 将用户输入的参数设置为当前脚本的参数。
相关问题
shell脚本提示输入参数
可以使用 `read` 命令来提示用户输入参数,例如:
```
#!/bin/bash
echo "请输入参数:"
read MY_PARAMETER
echo "你输入的参数是:$MY_PARAMETER"
```
在这个例子中,我们使用 `echo` 命令来提示用户输入参数,然后使用 `read` 命令来读取用户的输入,并将输入的值赋给变量 `MY_PARAMETER`。最后,我们使用 `echo` 命令来显示用户输入的参数。
当脚本执行到 `read` 命令时,会暂停执行,等待用户输入参数。用户输入完成后,按下回车键,`read` 命令会将用户输入的值赋给变量 `MY_PARAMETER`,然后脚本会继续执行。
需要注意的是,`read` 命令只能读取一行输入。如果需要读取多行输入,可以使用 `while read` 循环来实现。
shell脚本提示输入参数赋值变量
可以在 `read` 命令后直接将读取到的值赋给变量,例如:
```
#!/bin/bash
read -p "请输入参数:" MY_PARAMETER
echo "你输入的参数是:$MY_PARAMETER"
```
在这个例子中,我们使用 `read` 命令的 `-p` 选项来提示用户输入参数,并直接将读取到的值赋给变量 `MY_PARAMETER`。最后,我们使用 `echo` 命令来显示用户输入的参数。
需要注意的是,`-p` 选项后面的提示信息会直接显示在终端上,不会像 `echo` 命令那样换行。如果需要换行,可以在提示信息后面添加一个空格,例如:
```
read -p "请输入参数: " MY_PARAMETER
```
这样,在提示信息和用户输入之间就会有一个空格,看起来更加美观。
阅读全文