不幸的是我试过这个并且它不起作用,我必须使用[[]]
read input
for i in input
do
if [[ i = "$input" ]]
then
echo "i"
fi
done
当我跑步时没有任何反应,它只读取我的输入
答案 0 :(得分:1)
这一行:
if [[ i = "$input" ]]
应该是:
if [[ "$i" = "$input" ]]
OR:
if [[ "$i" == "$input" ]]
PS:input
同样如此。
请记住,shell中的变量是使用$
前缀访问的。
您可以将脚本重新计算在内:
read input
for i in $input
do
[[ "$i" == "something" ]] && echo "$i"
done
答案 1 :(得分:0)
我认为当你只使用数字时,你也可以尝试:
for i in input
do
if [[ $i -eq "$input" ]]
then
echo "$i"
fi
done