编写一个Shell脚本,使用for循环遍历从命令行传入的参数。 要求: 可以判断参数为奇数还是偶数 可以判断参数是否为数字
时间: 2024-05-04 14:18:36 浏览: 159
以下是一个能够满足要求的Shell脚本:
```bash
#!/bin/bash
# 判断参数是否为空
if [ $# -eq 0 ]; then
echo "Usage: $0 [arg1] [arg2] ..."
exit 1
fi
# 遍历参数
for arg in "$@"; do
# 判断是否为数字
if [[ $arg =~ ^[0-9]+$ ]]; then
echo "$arg is a number."
# 判断是否为偶数
if (( arg % 2 == 0 )); then
echo "$arg is even."
else
echo "$arg is odd."
fi
else
echo "$arg is not a number."
fi
done
```
运行方式为:
```bash
$ ./script.sh 1 2 3 hello 4 5 world
1 is odd.
2 is even.
3 is odd.
hello is not a number.
4 is even.
5 is odd.
world is not a number.
```
相关问题
写一个shell脚本,for循环实现参数+1
好的,以下是一个使用 for 循环实现参数加 1 的简单 Shell 脚本:
```bash
#!/bin/bash
# 遍历所有传入的参数
for num in "$@"; do
# 将参数转换为数字类型,并加 1
new_num=$((num + 1))
# 输出新数值
echo $new_num
done
```
该脚本使用了 `$@` 变量来获取所有传入的参数,然后使用 for 循环遍历这些参数。在循环中,脚本将参数转换为数字类型,并加 1,然后输出新的数值。
你可以将该脚本保存为 `addone.sh` 文件,并在终端中使用 `bash addone.sh 1 2 3` 命令来测试它。该命令将会输出:
```
2
3
4
```
这是因为脚本将每个参数加 1 后输出了新数值。
阅读全文