例如,如果我有变量
var="dog cat owl fish"
我想输入“cat”(由空格分隔的字符串中的第二个单词)并返回“2”,我该如何在没有 bash 的 shell 脚本中执行此操作?
最佳答案
“没有 bash”是什么意思?
以下内容适用于 bash、dash 和 ksh:
#!/bin/____ <- insert your shell here
input=$1
var="dog cat owl fish"
i=1
set -f
for word in $var ; do
if [ "$word" = "$input" ] ; then
echo $i
fi
i=$((i+1))
done
set -f
防止 $var
中的 *
进行路径名扩展。在 zsh 中,您需要 set -o SH_WORD_SPLIT 1
在 for 循环中拆分 $var
。
关于linux - 如何找到单词在字符串中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52821275/