![[: 셸에 `]' 오류가 없습니다. []의 코드 앞뒤에 공백이 있습니다.](https://linux55.com/image/151951/%5B%3A%20%EC%85%B8%EC%97%90%20%60%5D'%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%5B%5D%EC%9D%98%20%EC%BD%94%EB%93%9C%20%EC%95%9E%EB%92%A4%EC%97%90%20%EA%B3%B5%EB%B0%B1%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
암호:
if [ $mintemp -ge 15 && $maxtemp -le 28 ]; then echo "nice day"; fi
[와 $Mintemp, 28과 ] 사이에 이미 공백이 있습니다.
그런데 계속 오류가 발생하네요
답변1
&&
인수 가 아니라 []
( [
실제로 프로그램이기 때문에) 첫 번째 명령이 성공하면 두 번째 명령을 실행하는 Bash 연산자입니다. 따라서 bash의 경우 스크립트는 다음과 같습니다.
if ([ $mintemp -ge 15) && ($maxtemp -le 28 ]; then echo "nice day"; fi)
이는 유효하지 않습니다. 하지만 다음과 같이 할 수 있습니다.
if [ $mintemp -ge 15 ] && [ $maxtemp -le 28 ]; then echo "nice day"; fi