9. 编写一个Shell scripts,要求使用函数实现在指定的字符串中查找某个字符功能,如果字符串中包含该字符,则返回该字符所在的位置,否则返回-1。
时间: 2024-03-23 14:36:41 浏览: 107
Shell脚本实现查找字符串中某字符最后出现的位置
5星 · 资源好评率100%
可以使用如下的Shell脚本实现:
```sh
#!/bin/bash
# 定义函数,用于在字符串中查找某个字符
# 参数1:要查找的字符
# 参数2:要查找的字符串
function find_char() {
local char=$1
local str=$2
local i=0
local len=${#str}
# 遍历每个字符,查找目标字符
while [[ $i -lt $len ]]; do
if [[ "${str:$i:1}" == "$char" ]]; then
echo $i
return
fi
((i++))
done
# 如果没有找到目标字符,则返回-1
echo "-1"
}
# 测试函数
result=$(find_char "o" "Hello, World!")
echo $result # 输出6
result=$(find_char "x" "Hello, World!")
echo $result # 输出-1
```
在这个脚本中,定义了一个名为`find_char`的函数,用于在指定的字符串中查找某个字符。这个函数接受两个参数:要查找的字符和要查找的字符串。函数首先使用局部变量保存这两个参数,然后使用`len=${#str}`获取字符串的长度。接着,函数使用`while`循环遍历每个字符,如果找到目标字符,则使用`echo`命令输出该字符的位置并返回函数。如果没有找到目标字符,则在循环结束后输出-1并返回函数。
在测试函数中,分别调用`find_char`函数测试查找目标字符的位置。
阅读全文