linux 写一个shell脚本 传入字符串、整形、boolean、浮点数,并用if判断传入的参数,并用sh执行,给出具体例子
时间: 2023-02-14 09:42:59 浏览: 110
```bash
#!/bin/sh
string_param=$1
int_param=$2
bool_param=$3
float_param=$4
if [ -z "$string_param" ]
then
echo "缺少字符串参数"
exit 1
fi
if [ -z "$int_param" ] || ! [[ "$int_param" =~ ^[0-9]+$ ]]
then
echo "缺少整数参数或参数不是整数"
exit 1
fi
if [ -z "$bool_param" ] || ! [[ "$bool_param" =~ ^(true|false)$ ]]
then
echo "缺少布尔参数或参数不是布尔值"
exit 1
fi
if [ -z "$float_param" ] || ! [[ "$float_param" =~ ^[0-9]+(\.[0-9]+)?$ ]]
then
echo "缺少浮点数参数或参数不是浮点数"
exit 1
fi
echo "字符串参数: $string_param"
echo "整数参数: $int_param"
echo "布尔参数: $bool_param"
echo "浮点数参数: $float_param"
```
使用方法:
```sh
sh test.sh "hello world" 123 true 3.14
```
输出:
```
字符串参数: hello world
整数参数: 123
布尔参数: true
浮点数参数: 3.14
```
说明:
- 首先判断传入的参数是否为空,如果为空则退出程序并提示缺少该参数
- 利用正则表达式判断参数是否为整数、布尔值、浮点数
- 最后输出传入的参数
阅读全文