一个简单的bash程序,打印字符串的第三个字符,使用[[]](与方法比较)

时间:2013-12-04 05:28:37

标签: bash

不幸的是我试过这个并且它不起作用,我必须使用[[]]

read input

for i in input
do      
   if [[ i =    "$input" ]]
   then    
    echo "i"
   fi      
done 

当我跑步时没有任何反应,它只读取我的输入

2 个答案:

答案 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