Shell输入数组并输出成员为数字
时间: 2024-09-28 09:15:40 浏览: 31
shell学习1
在Shell脚本中,处理数组通常需要使用变量来存储值,并结合IFS(Internal Field Separator,内部字段分隔符)来解析输入。如果你有一个包含数字的字符串数组,可以按照以下步骤操作:
1. **读取用户输入**:首先从命令行接收用户输入,比如一个由空格分隔的数字序列。
```bash
read -a input_array <<< "$USER_INPUT"
```
这里假设`$USER_INPUT`是一个用户提供的包含数字的字符串。
2. **检查元素是否都是数字**:使用`for`循环和条件判断每个元素是否为数字。例如,`[[ $element =~ ^[0-9]+$ ]]`会检查元素是否只包含数字字符。
```bash
for element in "${input_array[@]}"; do
if ! [[ $element =~ ^[0-9]+$ ]]; then
echo "数组中有非数字元素!"
break
fi
done
```
3. **过滤并输出数字元素**:如果所有元素都是数字,你可以选择输出它们或者做其他处理。
```bash
filtered_array=()
for element in "${input_array[@]}"; do
if [[ $element =~ ^[0-9]+$ ]]; then
filtered_array+=("$element")
fi
done
echo "只有数字的数组是: ${filtered_array[*]}"
```
阅读全文