for 루프 및 if 문에서 필터링된 숫자를 에코합니다.

for 루프 및 if 문에서 필터링된 숫자를 에코합니다.

원하는 출력: 5보다 큰 모든 숫자.

몇 가지 시도 중 하나:

for i in {1..10}; do if ["$i" > 5]; then echo $i; fi; done

그러나 출력은 다음과 같습니다.

-bash: [1: command not found
-bash: [2: command not found
-bash: [3: command not found
-bash: [4: command not found
-bash: [5: command not found
-bash: [6: command not found
-bash: [7: command not found
-bash: [8: command not found
-bash: [9: command not found
-bash: [10: command not found

없어진 물건 있어요?

답변1

공간과-gt

user1@machine:~/tmp$ for i in {1..10}; do if  [ $i -gt 5 ]; then echo $i; fi; done
6
7
8
9
10

답변2

i=0
while case $((i+=1)) in
      ([6-9])
          echo "$i";;
      (??)
          ! echo "$i"
      esac
do :; done

답변3

정수를 엄격하게 다루는 경우 다음을 사용할 수도 있습니다.bash 산술 확장:

$ for i in {1..10}; do if ((i>5)); then echo $i; fi; done
6
7
8
9
10
$ 

관련 정보